home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 21 / emacs / em.tut < prev    next >
Text File  |  1986-05-14  |  126KB  |  3,194 lines

  1.  
  2.  
  3.  
  4.  
  5.                 MicroEMACS Screen Editor Tutorial
  6.  
  7.  
  8.                           July 11, 1985
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. MicroEMACS Screen Editor Tutorial                          Page i
  16.  
  17.  
  18.                         T✓Ta✓ab✓bl✓le✓e o✓of✓f C✓Co✓on✓nt✓te✓en✓nt✓ts✓s
  19.  
  20.  
  21. 1. Introduction                                                 1
  22.     What is MicroEMACS?                                         1
  23.     Do the exercises                                            1
  24.  
  25. 2. Basic Editing                                                2
  26.     Keystrokes--<e✓es✓sc✓c>, <c✓ct✓tr✓rl✓l>                                   2
  27.     Becoming acquainted with MicroEMACS                         3
  28.     Before you begin                                            4
  29.     Beginning a document                                        5
  30.  
  31. 3. Moving the Cursor                                            7
  32.     Moving the cursor backwards                                 7
  33.     Moving the cursor forwards                                  8
  34.     From line to line                                           8
  35.     Moving up and down by a screenful of text                   8
  36.     Moving to beginning or end of text                          9
  37.     Cursor movement strategy                                    9
  38.     Saving text and quitting                                   10
  39.  
  40. 4. Killing and Deleting                                        12
  41.     Deleting versus killing                                    12
  42.     Erasing text to the right                                  12
  43.     Erasing text to the left                                   13
  44.     Erasing lines of text                                      14
  45.     Yanking back (restoring) text                              14
  46.     Killing and deleting--exercises                            14
  47.     Quitting                                                   15
  48.  
  49. 5. Block Killing and Moving Text                               16
  50.     Moving one line of text                                    16
  51.     Multiple copying of killed text                            16
  52.     Kill and move a block of text                              17
  53.  
  54. 6. Capitalization, Transposing, and Screen Redraw              19
  55.     Capitalization and lowercasing                             19
  56.     Transpose characters                                       20
  57.     Screen redraw                                              20
  58.  
  59. 7. Search and Reverse Search                                   21
  60.     Search forward                                             21
  61.     Reverse search                                             21
  62.     Search for portions of words                               22
  63.     Cancel a command                                           22
  64.  
  65. 8. Saving Text and Exiting                                     24
  66.     Write text to a new file                                   24
  67.     Save text and exit                                         25
  68.  
  69. 9. Basic Editing--Conclusion and Summary                       26
  70.  
  71. 10. Advanced Editing                                           28
  72.  
  73.  
  74.  
  75.  
  76.  
  77. MicroEMACS Screen Editor Tutorial                         Page ii
  78.  
  79.  
  80.  
  81. 11. Arguments                                                  29
  82.     Arguments--default values                                  29
  83.     Selecting values                                           29
  84.     Deleting with arguments--an exception                      30
  85.     Arguments--exercises                                       30
  86.  
  87. 12. Buffers and Files                                          32
  88.     Definitions                                                32
  89.     File and buffer commands                                   32
  90.     Write and rename commands                                  33
  91.     Replace text in a buffer                                   33
  92.     Visiting another buffer                                    34
  93.     Move text from one buffer to another                       35
  94.     Checking buffer status                                     35
  95.     Renaming a buffer                                          36
  96.     Delete a buffer                                            36
  97.     Summary                                                    37
  98.  
  99. 13. Windows                                                    38
  100.     Window commands                                            39
  101.     Creating windows and moving between them                   40
  102.     Enlarging and shrinking windows                            40
  103.     Displaying text within a window                            41
  104.     One buffer                                                 42
  105.     Multiple buffers                                           43
  106.     Moving and copying text among buffers                      43
  107.     Checking buffer status                                     43
  108.     Saving text from windows                                   44
  109.     Exercises                                                  44
  110.  
  111. 14. Keyboard Macros                                            47
  112.     Keyboard macro commands                                    47
  113.     Replacing a macro                                          47
  114.     Search and replace                                         48
  115.  
  116. 15. Sending Commands to MS-DOS                                 49
  117.  
  118. 16. Advanced Editing--Conclusion and Summary                   50
  119.  
  120. 17. Summary of Commands                                        52
  121.  
  122.  
  123.  
  124.  
  125.  
  126. MicroEMACS Screen Editor Tutorial                          Page 1
  127.  
  128.  
  129. 1✓1.  I✓In✓nt✓tr✓ro✓od✓du✓uc✓ct✓ti✓io✓on✓n
  130.  
  131.      This is  a tutorial for the  MWC86 interactive screen editor
  132. MicroEMACS.
  133.  
  134.      This tutorial  is written for  two types of  reader: the one
  135. who has never used a  screen editor and needs a full introduction
  136. to the subject,  and the one who has used  a screen editor before
  137. but wishes to review specific topics.
  138.  
  139.  
  140.                        W✓Wh✓ha✓at✓t i✓is✓s M✓Mi✓ic✓cr✓ro✓oE✓EM✓MA✓AC✓CS✓S?
  141.  
  142.      MicroEMACS  is  an  interactive  screen editor.   An  editor
  143. allows you  to type text  into your computer, name  it, store it,
  144. and  recall  it   later  for  editing.   _✓I_✓n_✓t_✓e_✓r_✓a_✓c_✓t_✓i_✓v_✓e  means  that
  145. MicroEMACS will accept  your editing command, execute it, display
  146. the result for you immediately,  and then wait for your next com-
  147. mand.  _✓S_✓c_✓r_✓e_✓e_✓n means that you  can use nearly the entire screen of
  148. your terminal as a writing  surface: you can move your cursor up,
  149. down, and  around your screen  to create or change  text, much as
  150. you move your pen up, down, and around a piece of paper.
  151.  
  152.      These features,  plus the others  that will be  described in
  153. the  course of  this  tutorial, make  MicroEMACS a  tool that  is
  154. powerful, yet  easy to use.  You can use  MicroEMACS to create or
  155. change computer programs, essays or letters, electronic mail mes-
  156. sages, or any other type of text file.
  157.  
  158.      The MWC86  version of MicroEMACS was  adapted from a public-
  159. domain program  written by David G. Conroy,  and this document is
  160. based on  the descriptions  in his essay  _✓M_✓i_✓c_✓r_✓o_✓E_✓M_✓A_✓C_✓S:  _✓R_✓e_✓a_✓s_✓o_✓n_✓a_✓b_✓l_✓e
  161. _✓D_✓i_✓s_✓p_✓l_✓a_✓y _✓E_✓d_✓i_✓t_✓i_✓n_✓g _✓i_✓n  _✓L_✓i_✓t_✓t_✓l_✓e _✓C_✓o_✓m_✓p_✓u_✓t_✓e_✓r_✓s.  MicroEMACS is derived from
  162. the mainframe display editor EMACS, which was created at the Mas-
  163. sachusetts Institute of Technology by Richard Stallman.  EMACS is
  164. popular among persons who  work with computers, and is the parent
  165. or grandparent of a number of well-known word processors.
  166.  
  167.  
  168.                          D✓Do✓o t✓th✓he✓e e✓ex✓xe✓er✓rc✓ci✓is✓se✓es✓s
  169.  
  170.      The following  sections have exercises  that illustrate each
  171. topic being discussed.   These exercises will help you understand
  172. exactly how  each feature works.   We recommend that  you type in
  173. each exercise as you come to  it in the text.  Even if you under-
  174. stand the  concepts being  discussed, working the  exercises will
  175. reinforce the lesson and  will help you grow comfortable in using
  176. MicroEMACS.
  177.  
  178.  
  179.  
  180.  
  181.  
  182. MicroEMACS Screen Editor Tutorial                          Page 2
  183.  
  184.  
  185. 2✓2.  B✓Ba✓as✓si✓ic✓c E✓Ed✓di✓it✓ti✓in✓ng✓g
  186.  
  187.      MicroEMACS is the  MWC86  interactive screen editor.
  188.  
  189.      _✓I_✓n_✓t_✓e_✓r_✓a_✓c_✓t_✓i_✓v_✓e means MicroEMACS accepts a command from you, ex-
  190. ecutes it, displays  the result on your terminal immediately, and
  191. then waits for your next command.
  192.  
  193.      _✓S_✓c_✓r_✓e_✓e_✓n means MicroEMACS  allows you to use nearly the entire
  194. screen of your terminal as  a writing surface.  You can move your
  195. cursor  up, down,  and around  the screen to  enter text  or make
  196. changes, much as  you move your pen up, down,  and around a sheet
  197. of paper.
  198.  
  199.      The first half of this tutorial describes basic editing with
  200. MicroEMACS.   Mastering the  commands described  in the  next few
  201. subsections will  allow you to  create a document,  store it, and
  202. edit it thoroughly.  Advanced techniques, such as assembling text
  203. from several buffers, using windows, and using arguments, will be
  204. covered in the second half.
  205.  
  206.  
  207.                     K✓Ke✓ey✓ys✓st✓tr✓ro✓ok✓ke✓es✓s--<e✓es✓sc✓c>, <c✓ct✓tr✓rl✓l>
  208.  
  209.      The  MicroEMACS  commands use  c✓co✓on✓nt✓tr✓ro✓ol✓l  characters and  m✓me✓et✓ta✓a
  210. characters.
  211.  
  212.      Control characters use the _✓c_✓o_✓n_✓t_✓r_✓o_✓l key, which is marked C✓Ct✓tr✓rl✓l
  213. on your  keyboard; meta characters  use the  _✓e_✓s_✓c_✓a_✓p_✓e key, which is
  214. marked E✓Es✓sc✓c.
  215.  
  216.      On your  keyboard, the  _✓e_✓s_✓c_✓a_✓p_✓e key  is located in  the upper
  217. left-hand corner of the keyboard, just above the _✓t_✓a_✓b key (the key
  218. marked with horizontal  arrows).  The _✓c_✓o_✓n_✓t_✓r_✓o_✓l key is also located
  219. at the left end of your keyboard, just below the _✓t_✓a_✓b key.
  220.  
  221.      To see  how the _✓c_✓o_✓n_✓t_✓r_✓o_✓l and _✓e_✓s_✓c_✓a_✓p_✓e  keys actually work, con-
  222. sult any reference manual that describes the a✓as✓sc✓ci✓ii✓i table.  To use
  223. them with  MicroEMACS, however, only  requires that you  key them
  224. correctly.
  225.  
  226.  
  227.      C✓Ct✓tr✓rl✓l  is like the s✓sh✓hi✓if✓ft✓t  key:  hold it down _✓w_✓h_✓i_✓l_✓e you strike
  228. the other key.  Here, this will be represented with a hyphen; for
  229. example, c✓co✓on✓nt✓tr✓ro✓ol✓l X✓X will be shown as follows:
  230.  
  231.         <ctrl-X>
  232.  
  233. The E✓Es✓sc✓c   key, on the other hand, works  like an ordinary charac-
  234. ter.  You should strike it first, _✓t_✓h_✓e_✓n strike the  letter charac-
  235. ter  you want.   _✓E_✓s_✓c_✓a_✓p_✓e character codes  will not  be represented
  236. with a hyphen; for example, e✓es✓sc✓ca✓ap✓pe✓e X✓X will be represented as:
  237.  
  238.  
  239.  
  240.  
  241.  
  242. MicroEMACS Screen Editor Tutorial                          Page 3
  243.  
  244.  
  245.         <esc>X
  246.  
  247.  
  248.  
  249.                B✓Be✓ec✓co✓om✓mi✓in✓ng✓g a✓ac✓cq✓qu✓ua✓ai✓in✓nt✓te✓ed✓d w✓wi✓it✓th✓h M✓Mi✓ic✓cr✓ro✓oE✓EM✓MA✓AC✓CS✓S
  250.  
  251.      Now you are ready for  a few simple exercises that will help
  252. you get a feel for how MicroEMACS works.
  253.  
  254.      To begin, type the following command to MS-DOS:
  255.  
  256.         me sample
  257.  
  258. Within  a few  seconds,  your screen  will have  been cleared  of
  259. writing,  the cursor  will be positioned  in the  upper left-hand
  260. corner of the screen, and a  command line will appear at the bot-
  261. tom of your screen.
  262.  
  263.      Type the  following text.  You will need  to type a carriage
  264. return at the end of each line:
  265.  
  266.         There is nothing which has yet been contrived by
  267.         man, by which so much happiness is produced as by
  268.         a good tavern or inn.
  269.  
  270. Notice how the text appeared on the screen character by character
  271. as you typed  it, much as it would appear  on a piece of paper if
  272. you were using a typewriter.
  273.  
  274.      Now, type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>;  that is type <c✓ct✓tr✓rl✓l-X✓X>, and then
  275. type <c✓ct✓tr✓rl✓l-S✓S>.   It does not  matter whether you  type capital or
  276. lower-case letters.   Notice that a  message has appeared  at the
  277. bottom of  your screen.  This command  has permanently stored, or
  278. _✓s_✓a_✓v_✓e_✓d, what you typed.  This text is now preserved until you give
  279. the proper MS-DOS command to erase it.
  280.  
  281.      Type the  next few commands,  which demonstrate some  of the
  282. tasks that  MicroEMACS can perform for  you.  These commands will
  283. be explained in full in the  sections that follow; for now, it is
  284. enough for you to get a feel for how MicroEMACS works.
  285.  
  286.      Type <e✓es✓sc✓c><.   Be sure that you type  a less-than symbol '<'
  287. instead of  a comma.  Notice that the cursor  has returned to the
  288. upper left-hand  corner of the screen.   Type <e✓es✓sc✓c>F✓F.  The cursor
  289. has  jumped forward  by one  word, and is  now between  the words
  290. T✓Th✓he✓er✓re✓e and i✓is✓s.  Type  <c✓ct✓tr✓rl✓l-N✓N>.  Notice that the cursor has jumped
  291. to the next  line, and is now under the  letter b✓b of the word b✓by✓y.
  292. Type <c✓ct✓tr✓rl✓l-A✓A>.   The cursor  has jumped  to the _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g  of the
  293. second line of your text.
  294.  
  295.  
  296.  
  297.  
  298.  
  299. MicroEMACS Screen Editor Tutorial                          Page 4
  300.  
  301.  
  302.      Now,  type <c✓ct✓tr✓rl✓l-K✓K>.   The second  line  of text  has disap-
  303. peared, leaving an  empty space.  Type <c✓ct✓tr✓rl✓l-K✓K> again.  The empty
  304. space where the second line of text had been has now disappeared.
  305.  
  306.      Type <e✓es✓sc✓c>>.  Be sure to type a greater-than symbol '>', not
  307. a comma.  The cursor has jumped  to the space just below the last
  308. line of  text.  Now  type <c✓ct✓tr✓rl✓l-Y✓Y>.  The  text that you  erased a
  309. moment ago has now been restored.
  310.  
  311.      By  now, you  should  be feeling  more at  ease with  typing
  312. MicroEMACS's  _✓c_✓o_✓n_✓t_✓r_✓o_✓l and _✓e_✓s_✓c_✓a_✓p_✓e  codes.  The  following sections
  313. will  explain  what  these commands  mean.   For  now, exit  from
  314. MicroEMACS by typing <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>; when the message
  315.  
  316.         Quit [y/n]?
  317.  
  318. appears, type y✓y.  This will return you to MS-DOS.
  319.  
  320.  
  321.                          B✓Be✓ef✓fo✓or✓re✓e y✓yo✓ou✓u b✓be✓eg✓gi✓in✓n
  322.  
  323.      There are  one or two  potential sources of  difficulty that
  324. you should  watch for as  you begin to work  with MicroEMACS.  As
  325. you begin a file,  remember that MicroEMACS can handle only small
  326. files efficiently.
  327.  
  328.      If  your file  proves to  be  too large,  either when  it is
  329. loaded or while you are working on it, you will see the following
  330. message:
  331.  
  332.         Cannot allocate XX bytes
  333.  
  334. where  _✓X_✓X indicates  the number of  bytes that  MicroEMACS cannot
  335. allocate.  When this  happens, you should exit from MicroEMACS to
  336. MS-DOS, by typing <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>; using any other command in an
  337. attempt to  save the changes  you made to your  text could damage
  338. your original file severely.  Then use  your line editor to break
  339. the file  into several parts.  Exiting to  MS-DOS will be covered
  340. in the next few pages.
  341.  
  342.  
  343.      Three sample texts have been included with MicroEMACS.  They
  344. are called t✓te✓ex✓xt✓t1✓1.m✓m,  t✓te✓ex✓xt✓t2✓2.m✓m, and t✓te✓ex✓xt✓t3✓3.m✓m.  Before you begin, you
  345. should make working copies of these texts, so that if an accident
  346. were to occur while you  were working on this tutorial the master
  347. copies of the sample texts would be preserved.
  348.  
  349.      Make your  working copies  by typing the  following commands
  350. into your computer:
  351.  
  352.         copy text1.m text1
  353.         copy text2.m text2
  354.         copy text3.m text3
  355.  
  356.  
  357.  
  358.  
  359.  
  360. MicroEMACS Screen Editor Tutorial                          Page 5
  361.  
  362.  
  363.  
  364.      When you first  invoke MicroEMACS, your computer will take a
  365. moment to  set it  into operation.   If you are  going to  edit a
  366. large text,  MicroEMACS may  take a few  seconds to load  it into
  367. memory.
  368.  
  369.      You will  know MicroEMACS  set up and  ready to go  when the
  370. following message appears at the bottom of your screen:
  371.  
  372.         [Read XX lines]
  373.  
  374. where _✓X_✓X  stands for the number  of lines in your  text file.  If
  375. you are  creating a new text file, MicroEMACS  will send you this
  376. message:
  377.  
  378.         [New file]
  379.  
  380.  
  381.  
  382.                        B✓Be✓eg✓gi✓in✓nn✓ni✓in✓ng✓g a✓a d✓do✓oc✓cu✓um✓me✓en✓nt✓t
  383.  
  384.      You are  now ready  to invoke  MicroEMACS and create  a text
  385. file.  Type  the following  command line, which  tells MicroEMACS
  386. that you wish to edit the text called t✓te✓ex✓xt✓t1✓1:
  387.  
  388.         me text1
  389.  
  390. This text has been included with your MWC86 compiler; there is no
  391. need to retype it.
  392.  
  393.      The computer  will take  a moment  to set up  the MicroEMACS
  394. program.  As  soon as it does so, the  following text will appear
  395. on your screen:
  396.  
  397. From "Life on the Mississippi":
  398. I know how a prize watermelon looks when it is sunning
  399. its fat rotundity among the pumpkin vines; I know how to tell
  400. when it is ripe without "plugging" it; I know how inviting
  401. it looks when it is cooling itself in a tub of water under
  402. the bed, waiting; I know how it looks when it lies on the
  403. table in the sheltered great floor space between house and
  404. kitchen, and the children gathered for the sacrifice and
  405. their mouths watering; I know the crackling sound it makes
  406. when the carving knife enters its end, and I can see the
  407. split fly along in front of the blade as the knife cleaves
  408. its way to the other end; I can see its halves fall apart
  409. and display the rich red meat and the black seeds, and the
  410. heart standing up, a luxury fit the elect; I know how a
  411. boy looks behind a yard-long slice of that melon, and I
  412. know how he feels; for I have been there.
  413.  
  414. When you type the  MicroEMACS command and a file name, MicroEMACS
  415. _✓c_✓o_✓p_✓i_✓e_✓s that  text file  into a special  area in your  computer to
  416. make it available for editing.   If you were creating a new text,
  417.  
  418.  
  419.  
  420.  
  421.  
  422. MicroEMACS Screen Editor Tutorial                          Page 6
  423.  
  424.  
  425. as you did earlier with  the text called s✓sa✓am✓mp✓pl✓le✓e, the screen would
  426. have appeared blank.
  427.  
  428.      In  addition to  this text appearing  on your  screen,  your
  429. cursor  will have  moved  to the  upper left-hand  corner of  the
  430. screen, and  the status line will appear near  the bottom of your
  431. screen as follows:
  432.  
  433.  
  434. -- MicroEMACS -- text1 -- File: text1 ---------------------------
  435.  
  436.  
  437. The word  to the  left, MicroEMACS, is  the name of  the program.
  438. The word in the center, t✓te✓ex✓xt✓t1✓1, is the name of the _✓b_✓u_✓f_✓f_✓e_✓r that you
  439. are using.  (What a buffer is  and how it is used will be covered
  440. later.) The name  to the right is the name  of the text file that
  441. you will be editing.
  442.  
  443.  
  444.  
  445.  
  446.  
  447. MicroEMACS Screen Editor Tutorial                          Page 7
  448.  
  449.  
  450. 3✓3.  M✓Mo✓ov✓vi✓in✓ng✓g t✓th✓he✓e C✓Cu✓ur✓rs✓so✓or✓r
  451.  
  452.      Now that you have created a text file, you will want to edit
  453. it.  The  first step  is to  learn to move  the cursor.   Try out
  454. these  commands  for  yourself  as  they  are  described  in  the
  455. following pages.   That way, you will quickly  acquire a feel for
  456. handling MicroEMACS's commands.
  457.  
  458.      You can use your _✓a_✓r_✓r_✓o_✓w _✓k_✓e_✓y_✓s with MicroEMACS.  The arrow keys
  459. are found on the keypad  on the right-hand side of your keyboard.
  460. If when you press the arrow  keys, numbers appear in the text in-
  461. stead of the cursor being moved, press the _✓n_✓u_✓m_✓b_✓e_✓r _✓l_✓o_✓c_✓k key, which
  462. is the key marked N✓Nu✓um✓m L✓Lo✓oc✓ck✓k.  That should solve your problem.
  463.  
  464.  
  465.      The following  display shows the basic  cursor movement com-
  466. mands.
  467.  
  468.      <c✓ct✓tr✓rl✓l-B✓B>  Move back 1 space
  469.      <e✓es✓sc✓c>B✓B    Move back 1 word
  470.      <c✓ct✓tr✓rl✓l-E✓E>  Move to end of line
  471.  
  472.      <c✓ct✓tr✓rl✓l-F✓F>  Move forward 1 space
  473.      <e✓es✓sc✓c>F✓F    Move forward 1 word
  474.      <c✓ct✓tr✓rl✓l-A✓A>  Move to beginning of line
  475.  
  476.      <c✓ct✓tr✓rl✓l-P✓P>  Move to previous line
  477.      <c✓ct✓tr✓rl✓l-N✓N>  Move to next line
  478.  
  479.      <c✓ct✓tr✓rl✓l-V✓V>  Move forward 1 screen
  480.      <e✓es✓sc✓c>V✓V    Move back 1 screen
  481.  
  482.      <e✓es✓sc✓c><    Move to beginning of text
  483.      <e✓es✓sc✓c>>    Move to end of text
  484.  
  485.  
  486.  
  487.                    M✓Mo✓ov✓vi✓in✓ng✓g t✓th✓he✓e c✓cu✓ur✓rs✓so✓or✓r b✓ba✓ac✓ck✓kw✓wa✓ar✓rd✓ds✓s
  488.  
  489.      The first set of commands move the cursor backwards.  First,
  490. type the  _✓e_✓n_✓d _✓o_✓f _✓t_✓e_✓x_✓t  command <e✓es✓sc✓c>> to  move the cursor  to the
  491. bottom of  the text.  Be sure to type  a greater-than symbol '>',
  492. instead of a period.
  493.  
  494.      Type the _✓b_✓a_✓c_✓k_✓s_✓p_✓a_✓c_✓e command <c✓ct✓tr✓rl✓l-B✓B>.  As before, it does not
  495. matter whether the letter is upper case or lower case.  Note that
  496. the cursor is now located just to the right of the period in your
  497. last line  of text.  Type  <c✓ct✓tr✓rl✓l-B✓B> again.  The  cursor has moved
  498. one space to the left, and now is directly under the period.
  499.  
  500.  
  501.  
  502.  
  503.  
  504. MicroEMACS Screen Editor Tutorial                          Page 8
  505.  
  506.  
  507.      Type <e✓es✓sc✓c>B✓B.  The cursor has moved one _✓w_✓o_✓r_✓d to the left, and
  508. is now under the letter t✓t  of the word t✓th✓he✓er✓re✓e.  Type the _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g
  509. _✓o_✓f _✓l_✓i_✓n_✓e command <c✓ct✓tr✓rl✓l-A✓A>.  The cursor has jumped to the beginning
  510. of the line, and is now under the letter k✓k of the word k✓kn✓no✓ow✓w.
  511.  
  512.  
  513.                     M✓Mo✓ov✓vi✓in✓ng✓g t✓th✓he✓e c✓cu✓ur✓rs✓so✓or✓r f✓fo✓or✓rw✓wa✓ar✓rd✓ds✓s
  514.  
  515.      Now practice  moving the cursor forwards.   Type the _✓f_✓o_✓r_✓w_✓a_✓r_✓d
  516. command <c✓ct✓tr✓rl✓l-F✓F>.   Note that the  cursor has moved  one space to
  517. the right,  and now is under the letter n✓n of the word k✓kn✓no✓ow✓w.  Type
  518. <e✓es✓sc✓c>F✓F.  The cursor has moved one  _✓w_✓o_✓r_✓d to the right, and now  is
  519. under the space between the words k✓kn✓no✓ow✓w and h✓ho✓ow✓w.
  520.  
  521.      Type  the _✓e_✓n_✓d  _✓o_✓f  _✓l_✓i_✓n_✓e command  <c✓ct✓tr✓rl✓l-E✓E>.   The cursor  has
  522. jumped to the  end of the line, and once  again is resting to the
  523. right of the period.
  524.  
  525.  
  526.                         F✓Fr✓ro✓om✓m l✓li✓in✓ne✓e t✓to✓o l✓li✓in✓ne✓e
  527.  
  528.      The  next  two commands  move  the cursor  up  and down  the
  529. screen.  Type the  _✓p_✓r_✓e_✓v_✓i_✓o_✓u_✓s _✓l_✓i_✓n_✓e command <c✓ct✓tr✓rl✓l-P✓P>.  Note that the
  530. cursor has jumped from its position to the right of the period on
  531. the last line of your text, to being under the second letter t✓t of
  532. the word t✓th✓ha✓at✓t in the previous line.
  533.  
  534.      Continue to  type <c✓ct✓tr✓rl✓l-P✓P> until the  cursor reaches the top
  535. of the screen.   Note that as you reached the  first line in your
  536. text, the cursor jumped from under the letter i✓i of the word i✓it✓t on
  537. the second  line, to being just  right of the colon  on the first
  538. line of text.   When you move your cursor up  or down the screen,
  539. MicroEMACS will  try to keep it at the  same position within each
  540. line.  If the line to which you are moving the cursor is not long
  541. enough to have a character at that position, MicroEMACS will move
  542. the cursor to the end of the line.
  543.  
  544.      Now, practice moving  the cursor back down the screen.  Type
  545. the _✓n_✓e_✓x_✓t _✓l_✓i_✓n_✓e command <c✓ct✓tr✓rl✓l-N✓N>.  Note that when the cursor jumped
  546. to the next  line, it returned  to under the letter i✓i of the word
  547. i✓it✓t.  MicroEMACS remembered the cursor's position on the line, and
  548. returned the cursor there when it jumped to a line long enough to
  549. have a character in that position.
  550.  
  551.      Continue pressing  <c✓ct✓tr✓rl✓l-N✓N>.  The cursor will  move down the
  552. screen, until it reaches the bottom of your text.
  553.  
  554.  
  555.             M✓Mo✓ov✓vi✓in✓ng✓g u✓up✓p a✓an✓nd✓d d✓do✓ow✓wn✓n b✓by✓y a✓a s✓sc✓cr✓re✓ee✓en✓nf✓fu✓ul✓l o✓of✓f t✓te✓ex✓xt✓t
  556.  
  557.  
  558.  
  559.  
  560.  
  561. MicroEMACS Screen Editor Tutorial                          Page 9
  562.  
  563.  
  564.      The next two cursor movement commands allow you to roll for-
  565. ward or backwards by one screenful of text.
  566.  
  567.      If you are editing a file with MicroEMACS that is too big to
  568. be displayed on your  screen all at once, MicroEMACS will display
  569. the file in screen-sized portions (on most terminals, 22 lines at
  570. a time).  The _✓v_✓i_✓e_✓w commands <c✓ct✓tr✓rl✓l-V✓V> and <e✓es✓sc✓c>V✓V allow you to roll
  571. up or down by one screenful of text at a time.
  572.  
  573.      Type <c✓ct✓tr✓rl✓l-V✓V>.   Note that your screen  becomes empty.  This
  574. is  because you  have  rolled forward  by the  equivalent of  one
  575. screenful of text, or 22 lines; however, because the text in this
  576. example  is only  16 lines  long, rolling  forward 22  lines just
  577. empties the screen.
  578.  
  579.      Now, type <e✓es✓sc✓c>V✓V.  Notice that your text rolls back onto the
  580. screen,  and your  cursor is  positioned  in the  upper left-hand
  581. corner of the screen, under the letter F✓F of the word F✓Fr✓ro✓om✓m.
  582.  
  583.  
  584.                 M✓Mo✓ov✓vi✓in✓ng✓g t✓to✓o b✓be✓eg✓gi✓in✓nn✓ni✓in✓ng✓g o✓or✓r e✓en✓nd✓d o✓of✓f t✓te✓ex✓xt✓t
  585.  
  586.      The last two cursor  movement commands allow you to jump im-
  587. mediately to the beginning or end of your text.
  588.  
  589.      The _✓e_✓n_✓d  _✓o_✓f _✓t_✓e_✓x_✓t command <e✓es✓sc✓c>> moves the  cursor to the end
  590. of your text.  Type <e✓es✓sc✓c>>.   Be sure to type a greater-than sym-
  591. bol '>'; this symbol may have been placed nearly anywhere on your
  592. keyboard, although  on IBM-style  keyboards it appears  above the
  593. period.   Note that  your cursor  has jumped to  the end  of your
  594. text.
  595.  
  596.      The _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g  _✓o_✓f _✓t_✓e_✓x_✓t command  <e✓es✓sc✓c>< will move  the cursor
  597. back to  the beginning  of your text.   Type <e✓es✓sc✓c><.  Be  sure to
  598. type a  less-than symbol '<';  on  IBM-style keyboards it appears
  599. above the comma.  Note that the cursor has jumped back to the up-
  600. per left-hand corner of your screen.
  601.  
  602.      These commands will move you immediately to the beginning or
  603. the end  of your text, regardless of whether the text is one page
  604. long or 20.
  605.  
  606.  
  607.                      C✓Cu✓ur✓rs✓so✓or✓r m✓mo✓ov✓ve✓em✓me✓en✓nt✓t s✓st✓tr✓ra✓at✓te✓eg✓gy✓y
  608.  
  609.      When you edit a large text, you will have to move the cursor
  610. often.  This can be very time-consuming.  Two rules will help you
  611. save time by moving the cursor efficiently.
  612.  
  613. 1.   Plan  your cursor  movements so that  you reach  your target
  614.      with the fewest keystrokes possible.
  615.  
  616.  
  617.  
  618.  
  619.  
  620. MicroEMACS Screen Editor Tutorial                         Page 10
  621.  
  622.  
  623.  
  624. 2.   If you are a good typist,  avoid using the <e✓es✓sc✓c> key if pos-
  625.      sible,  because using  the <e✓es✓sc✓c> key  usually forces  you to
  626.      lift your left hand from the home position.
  627.  
  628.      Try the following  exercises to sharpen your command of cur-
  629. sor  movement.  Each  exercise is followed  by its  solution.  Be
  630. sure not  to look  at the  solution until you  have at  least at-
  631. tempted to  solve the problem.   The exercises should  be done in
  632. order, because each one builds on the ones that come before.
  633.  
  634.      1✓1.  Your cursor  should be in the  upper left-hand corner of
  635. the screen.  If it is not,  type <e✓es✓sc✓c><.  Now, move the cursor to
  636. the space just before the  word c✓ch✓hi✓il✓ld✓dr✓re✓en✓n in line 8--you should be
  637. able to do it with ten commands.
  638.  
  639.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <c✓ct✓tr✓rl✓l-N✓N> seven times, then type <e✓es✓sc✓c>F✓F three
  640. times.
  641.  
  642.      2✓2.  Move the cursor to under  the letter n✓n of the word k✓kn✓ni✓if✓fe✓e
  643. in line 10--you should be able to do it with four commands.
  644.  
  645.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <c✓ct✓tr✓rl✓l-N✓N> twice, then <c✓ct✓tr✓rl✓l-F✓F> twice.
  646.  
  647.      3✓3.  Move the cursor to the  right of the period on line 16--
  648. you should be able to do it with two commands.
  649.  
  650.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <e✓es✓sc✓c>>, then type <c✓ct✓tr✓rl✓l-B✓B>.
  651.  
  652.      4✓4.  Move the cursor to the space after the word f✓fa✓al✓ll✓l on line
  653. 12--you should be able to do it with six commands.
  654.  
  655.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:   Type  <c✓ct✓tr✓rl✓l-P✓P>  four  times,  then  type  <e✓es✓sc✓c>F✓F
  656. twice.
  657.  
  658.      5✓5.  Move  the  cursor to  under  the letter  k✓k  of the  word
  659. k✓ki✓it✓tc✓ch✓he✓en✓n in  line 8--you should  be able to  do it with  five com-
  660. mands.
  661.  
  662.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <c✓ct✓tr✓rl✓l-A✓A>, then type <c✓ct✓tr✓rl✓l-P✓P> four times.
  663.  
  664.      6✓6.  Finally, move  the cursor to  under the letter  M✓M of the
  665. word  M✓Mi✓is✓ss✓si✓is✓ss✓si✓ip✓pp✓pi✓i on  line 1--you  should be able  to do  it with
  666. three commands.
  667.  
  668.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <e✓es✓sc✓c><, type <c✓ct✓tr✓rl✓l-E✓E>, then type <e✓es✓sc✓c>B✓B.
  669.  
  670.  
  671.                      S✓Sa✓av✓vi✓in✓ng✓g t✓te✓ex✓xt✓t a✓an✓nd✓d q✓qu✓ui✓it✓tt✓ti✓in✓ng✓g
  672.  
  673.  
  674.  
  675.  
  676.  
  677. MicroEMACS Screen Editor Tutorial                         Page 11
  678.  
  679.  
  680.      If you  do not  wish to continue  working at this  time, you
  681. should _✓s_✓a_✓v_✓e your text, and then _✓q_✓u_✓i_✓t.
  682.  
  683.      It is  good practice to  save your text file  every so often
  684. while you are working on it; then, if an accident occurs, such as
  685. a power  failure, you will  not lose all  of your work.   You can
  686. save  your text  with  the _✓s_✓a_✓v_✓e  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>.   Type
  687. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>--that  is, first type <c✓ct✓tr✓rl✓l-X✓X>, then type <c✓ct✓tr✓rl✓l-
  688. S✓S>.  Note that at the bottom of your screen the following message
  689. has appeared:
  690.  
  691.      [Wrote 16 lines]
  692.  
  693. The text  file has  again been  saved to your  computer's memory.
  694. Note, too,  that MicroEMACS will  send you messages  from time to
  695. time; the  messages enclosed in  square brackets '['  ']' are for
  696. your information,  and do not  mean that something  is wrong.  To
  697. exit  from MicroEMACS,  type the  _✓q_✓u_✓i_✓t  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.
  698. This will return you to MS-DOS.
  699.  
  700.  
  701.  
  702.  
  703.  
  704. MicroEMACS Screen Editor Tutorial                         Page 12
  705.  
  706.  
  707. 4✓4.  K✓Ki✓il✓ll✓li✓in✓ng✓g a✓an✓nd✓d D✓De✓el✓le✓et✓ti✓in✓ng✓g
  708.  
  709.      Now that you  know how to move the cursor,  you are ready to
  710. edit your text.  To return to MicroEMACS, type the command:
  711.  
  712.         me text1
  713.  
  714. Within a moment, t✓te✓ex✓xt✓t1✓1 will have been restored to your screen.
  715.  
  716.      By now, you have  noticed that MicroEMACS is always ready to
  717. insert material  into your  text; unless  you type the  <c✓ct✓tr✓rl✓l> or
  718. <e✓es✓sc✓c>  keys, MicroEMACS  will assume  that  whatever you  type is
  719. meant to be  text and will insert it onto  your screen where your
  720. cursor is positioned.
  721.  
  722.      The simplest  way to  erase text  is simply to  position the
  723. cursor to the  right of the text you want  to erase and backspace
  724. over it.   MicroEMACS, however, has a set  of commands that allow
  725. you to  erase large amounts of text  easily.  These commands _✓k_✓i_✓l_✓l
  726. and _✓d_✓e_✓l_✓e_✓t_✓e;  the distinction is important,  and will be explained
  727. in a moment.  The following display summarizes these commands:
  728.  
  729.      <c✓ct✓tr✓rl✓l-D✓D>   Delete 1 character to the right
  730.      <e✓es✓sc✓c>D✓D     Kill 1 word to the right
  731.  
  732.      <d✓de✓el✓l>      Delete 1 character to the left
  733.      <e✓es✓sc✓c><d✓de✓el✓l> Kill 1 word to the left
  734.  
  735.      <c✓ct✓tr✓rl✓l-K✓K>   Kill rest of line
  736.      <c✓ct✓tr✓rl✓l-Y✓Y>   Yank back (restore) killed text
  737.  
  738.  
  739.  
  740.                      D✓De✓el✓le✓et✓ti✓in✓ng✓g v✓ve✓er✓rs✓su✓us✓s k✓ki✓il✓ll✓li✓in✓ng✓g
  741.  
  742.      It is important to distinguish between killing and deleting.
  743. When  text  is  _✓d_✓e_✓l_✓e_✓t_✓e_✓d, it  is  erased  completely from  memory;
  744. however,  when  text is  _✓k_✓i_✓l_✓l_✓e_✓d,  it is  moved  into a  temporary
  745. storage  area elsewhere  in the computer.   This storage  area is
  746. erased when  you move the  cursor and then  kill additional text.
  747. Until then,  however, the killed  text is saved.   This aspect of
  748. killing allows you  to restore text that you killed accidentally,
  749. and it also allows you to  move or copy portions of text from one
  750. position to another.
  751.  
  752.  
  753.                     E✓Er✓ra✓as✓si✓in✓ng✓g t✓te✓ex✓xt✓t t✓to✓o t✓th✓he✓e r✓ri✓ig✓gh✓ht✓t
  754.  
  755.      The first  two commands  to be  presented erase text  to the
  756. _✓r_✓i_✓g_✓h_✓t.
  757.  
  758.  
  759.  
  760.  
  761.  
  762. MicroEMACS Screen Editor Tutorial                         Page 13
  763.  
  764.  
  765.      Type the _✓d_✓e_✓l_✓e_✓t_✓e command <c✓ct✓tr✓rl✓l-D✓D>.  Note that the letter F✓F of
  766. the  word F✓Fr✓ro✓om✓m  has been  erased, and  the rest  of the  line has
  767. shifted one space to the left.
  768.  
  769.      Now,  type  <e✓es✓sc✓c>D✓D.  The  rest  of the  word  F✓Fr✓ro✓om✓m has  been
  770. erased, and the line has  shifted three spaces to the left.  Note
  771. that the  cursor is  positioned under  the _✓s_✓p_✓a_✓c_✓e before  the word
  772. L✓Li✓if✓fe✓e.  Type <e✓es✓sc✓c>D✓D again.   The word L✓Li✓if✓fe✓e has vanished along with
  773. the _✓s_✓p_✓a_✓c_✓e  that preceded it, and the line  has shifted _✓s_✓i_✓x spaces
  774. to the left.
  775.  
  776.      Note that <c✓ct✓tr✓rl✓l-D✓D> _✓d_✓e_✓l_✓e_✓t_✓e_✓s text, but <e✓es✓sc✓c>D✓D _✓k_✓i_✓l_✓l_✓s text.
  777.  
  778.      MicroEMACS is designed so  that when it erases text, it does
  779. so beginning  at a point  immediately to the _✓l_✓e_✓f_✓t  of the cursor.
  780. Therefore, if  you wish to  erase a word   but wish to  keep both
  781. spaces around it,   position your cursor directly under the first
  782. character of the word and strike  <e✓es✓sc✓c>D✓D.  If you wish to erase a
  783. word _✓a_✓n_✓d the space before it, position the cursor under the space
  784. before you strike <e✓es✓sc✓c>D✓D.
  785.  
  786.  
  787.                      E✓Er✓ra✓as✓si✓in✓ng✓g t✓te✓ex✓xt✓t t✓to✓o t✓th✓he✓e l✓le✓ef✓ft✓t
  788.  
  789.      You  can erase  text to  the  _✓l_✓e_✓f_✓t by  using the  delete key
  790. <D✓De✓el✓l>.   This key  is located  just below the  number pad  on the
  791. right side of your keyboard.
  792.  
  793. Be sure to note where it is, because it is most useful.
  794.  
  795.      If your  keyboard's <d✓de✓el✓l>  key does  not operate in  the way
  796. described below,  you can  also erase text  to the left  with the
  797. command <c✓ct✓tr✓rl✓l-H✓H>.
  798.  
  799.      To see how to erase text  to the left, first type the _✓e_✓n_✓d _✓o_✓f
  800. _✓l_✓i_✓n_✓e  command <c✓ct✓tr✓rl✓l-E✓E>  to move  the cursor to  the right  of the
  801. colon  on the  first line  of text.  Type  <d✓de✓el✓l>.  Note  that the
  802. colon has vanished.
  803.  
  804.      Type <e✓es✓sc✓c><d✓de✓el✓l>.  The  word M✓Mi✓is✓ss✓si✓is✓ss✓si✓ip✓pp✓pi✓i has disappeared, and
  805. the cursor has moved to the second space following the word t✓th✓he✓e.
  806.  
  807.      Move the cursor four spaces to the left, so that it is under
  808. the letter t✓t of the word  t✓th✓he✓e.  Type <e✓es✓sc✓c><d✓de✓el✓l>.  The word o✓on✓n has
  809. vanished, along with the  space that was immediately to the right
  810. of  it.  As  before,  these commands  erased  text beginning  im-
  811. mediately to the _✓l_✓e_✓f_✓t  of the cursor.  The <e✓es✓sc✓c><d✓de✓el✓l> command can
  812. be used to erase words throughout your text.
  813.  
  814.      If you  wish to erase a  word to the left  yet preserve both
  815. spaces that  are around it,  position the cursor  under the space
  816. immediately to  the right of the word  and strike <e✓es✓sc✓c><d✓de✓el✓l>.  If
  817. you wish  to erase  a word  to the left  plus the space  that im-
  818. mediately follows it,  position the cursor under the first letter
  819.  
  820.  
  821.  
  822.  
  823.  
  824. MicroEMACS Screen Editor Tutorial                         Page 14
  825.  
  826.  
  827. of the _✓n_✓e_✓x_✓t word and then strike <e✓es✓sc✓c><d✓de✓el✓l>.
  828.  
  829.      Note that  typing <d✓de✓el✓l> _✓d_✓e_✓l_✓e_✓t_✓e_✓s text,  but typing <e✓es✓sc✓c><d✓de✓el✓l>
  830. _✓k_✓i_✓l_✓l_✓s text.
  831.  
  832.  
  833.                       E✓Er✓ra✓as✓si✓in✓ng✓g l✓li✓in✓ne✓es✓s o✓of✓f t✓te✓ex✓xt✓t
  834.  
  835.      Finally, the following  command erases a lines of text:  the
  836. _✓k_✓i_✓l_✓l  command <c✓ct✓tr✓rl✓l-K✓K>.   This  command erases  a  line of  text,
  837. beginning from immediately to the left of the cursor.
  838.  
  839.      To see  how this works, move the cursor  to the beginning of
  840. line  2.  Now,  strike <c✓ct✓tr✓rl✓l-K✓K>.   Note  that all  of line  2 has
  841. vanished, and been replaced with an empty space.  Strike <c✓ct✓tr✓rl✓l-K✓K>
  842. again.  Note that the empty space has vanished, and the cursor is
  843. now positioned at the beginning of  what used to be line 3, under
  844. the letter i✓i of the word i✓it✓ts✓s.
  845.  
  846.      As its name implies,  the <c✓ct✓tr✓rl✓l-K✓K> command _✓k_✓i_✓l_✓l_✓s the line of
  847. text.
  848.  
  849.  
  850.                   Y✓Ya✓an✓nk✓ki✓in✓ng✓g b✓ba✓ac✓ck✓k (r✓re✓es✓st✓to✓or✓ri✓in✓ng✓g) t✓te✓ex✓xt✓t
  851.  
  852.      Remember that  when material is killed,  MicroEMACS has tem-
  853. porarily stored  it elsewhere.  Thus,  text that has  been killed
  854. can  be returned  to the  screen by using  the _✓y_✓a_✓n_✓k  _✓b_✓a_✓c_✓k command
  855. <c✓ct✓tr✓rl✓l-Y✓Y>.   Type  <c✓ct✓tr✓rl✓l-Y✓Y>.   Note that  all  of  line  2 is  now
  856. returned; the cursor, however,  remains under the letter i✓i of i✓it✓ts✓s
  857. in line 3.
  858.  
  859.  
  860.                  K✓Ki✓il✓ll✓li✓in✓ng✓g a✓an✓nd✓d d✓de✓el✓le✓et✓ti✓in✓ng✓g--e✓ex✓xe✓er✓rc✓ci✓is✓se✓es✓s
  861.  
  862.      To fix these distinctions in your mind, perform the next few
  863. exercises.  Work the  exercises in order, as each exercise builds
  864. on the ones that came before it, and try not to look at the solu-
  865. tion until you have at least tried to solve the problem.
  866.  
  867.      Before you  begin, move your cursor back  to the upper left-
  868. hand corner of your screen by typing <e✓es✓sc✓c><.
  869.  
  870.      1✓1.  Erase the  word s✓sh✓he✓el✓lt✓te✓er✓re✓ed✓d in  line 7 and  the space that
  871. follows it.
  872.  
  873.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To move  the cursor to the correct position, type
  874. <c✓ct✓tr✓rl✓l-N✓N>  six times;  type <e✓es✓sc✓c>F✓F four  times; and  type <c✓ct✓tr✓rl✓l-F✓F>
  875. once.  Then type <e✓es✓sc✓c><d✓de✓el✓l>.
  876.  
  877.  
  878.  
  879.  
  880.  
  881. MicroEMACS Screen Editor Tutorial                         Page 15
  882.  
  883.  
  884.      2✓2.  Erase the  word c✓ch✓hi✓il✓ld✓dr✓re✓en✓n in  line 8, and  the space that
  885. precedes it.
  886.  
  887.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To move  the cursor to the correct position, type
  888. <c✓ct✓tr✓rl✓l-N✓N>, then type <e✓es✓sc✓c>F✓F.  Type <e✓es✓sc✓c>D✓D.
  889.  
  890.      3✓3.  Erase line 4.
  891.  
  892.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To  move cursor,  type <c✓ct✓tr✓rl✓l-P✓P> four  times, then
  893. <c✓ct✓tr✓rl✓l-A✓A>.  Type <c✓ct✓tr✓rl✓l-K✓K>.
  894.  
  895.      4✓4.  Yank back line 4.
  896.  
  897.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Type <c✓ct✓tr✓rl✓l-Y✓Y>.
  898.  
  899.  
  900.                              Q✓Qu✓ui✓it✓tt✓ti✓in✓ng✓g
  901.  
  902.      When you are finished, do not  save the text.  If you do so,
  903. the  undamaged copy  of the  text that you  made earlier  will be
  904. replaced  with the  present damaged copy.   Rather, use  the _✓q_✓u_✓i_✓t
  905. command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.  Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.  On the bottom
  906. of your screen, MicroEMACS will respond:
  907.  
  908.      Quit [y/n]?
  909.  
  910. Reply  by  typing  y✓y and  a  carriage  return.   If  you type  n✓n,
  911. MicroEMACS will simply return you  to where you were in the text.
  912. MicroEMACS will then return you to  MS-DOS.
  913.  
  914.  
  915.  
  916.  
  917.  
  918. MicroEMACS Screen Editor Tutorial                         Page 16
  919.  
  920.  
  921. 5✓5.  B✓Bl✓lo✓oc✓ck✓k K✓Ki✓il✓ll✓li✓in✓ng✓g a✓an✓nd✓d M✓Mo✓ov✓vi✓in✓ng✓g T✓Te✓ex✓xt✓t
  922.  
  923.      As noted  above, text that  is killed is  stored temporarily
  924. within  the  computer.  Killed text, however,  may be yanked back
  925. onto your  screen, and not  necessarily in the spot  where it was
  926. originally killed.  This feature allows you to move text from one
  927. position to another.
  928.  
  929.      The following  table summarizes the commands  used to kill a
  930. block of text and move it:
  931.  
  932.      <c✓ct✓tr✓rl✓l-K✓K>  Kill text to end of line
  933.  
  934.      <c✓ct✓tr✓rl✓l-@>  Set mark
  935.      <c✓ct✓tr✓rl✓l-W✓W>  Kill block of text
  936.  
  937.      <c✓ct✓tr✓rl✓l-Y✓Y>  Yank back text
  938.  
  939.  
  940.  
  941.                      M✓Mo✓ov✓vi✓in✓ng✓g o✓on✓ne✓e l✓li✓in✓ne✓e o✓of✓f t✓te✓ex✓xt✓t
  942.  
  943.      To test these commands, invoke MicroEMACS for the text t✓te✓ex✓xt✓t1✓1
  944. by typing the following command:
  945.  
  946.      me text1
  947.  
  948. When MicroEMACS appears, the cursor will be positioned in the up-
  949. per left-hand corner of the screen.
  950.  
  951.      To move  the first  line of text,  begin by typing  the _✓k_✓i_✓l_✓l
  952. command  <c✓ct✓tr✓rl✓l-K✓K>  twice.  Now, press <e✓es✓sc✓c>>,  to move the cursor
  953. to the  bottom of  text.  Finally, yank  back the line  by typing
  954. <c✓ct✓tr✓rl✓l-Y✓Y>.  The line that reads
  955.  
  956.      From "Life on the Mississippi":
  957.  
  958. is now at the bottom of your text.
  959.  
  960.      Note  that your  cursor has  moved to  the beginning  of the
  961. blank line _✓a_✓f_✓t_✓e_✓r the line you yanked back.
  962.  
  963.  
  964.                  M✓Mu✓ul✓lt✓ti✓ip✓pl✓le✓e c✓co✓op✓py✓yi✓in✓ng✓g o✓of✓f k✓ki✓il✓ll✓le✓ed✓d t✓te✓ex✓xt✓t
  965.  
  966.      When text is yanked back onto your screen, it is _✓n_✓o_✓t deleted
  967. from the  computer.  Rather,  it is  simply _✓c_✓o_✓p_✓i_✓e_✓d back  onto the
  968. screen.  This  means that killed text can  be reinserted into the
  969. text more than once.  To see  how this is done, return to the top
  970. of the text by typing  <e✓es✓sc✓c><.  Then type <c✓ct✓tr✓rl✓l-Y✓Y>.  The line you
  971. just killed now appears twice on your screen.
  972.  
  973.  
  974.  
  975.  
  976.  
  977. MicroEMACS Screen Editor Tutorial                         Page 17
  978.  
  979.  
  980.      Note that  the killed text will not be  erased from its tem-
  981. porary storage until you move the cursor and then kill additional
  982. text.  If you  kill several lines or portions of  lines in a row,
  983. all of the  killed text will be stored in  the buffer; if you are
  984. not careful, you may yank back a jumble of accumulated text.
  985.  
  986.  
  987.                   K✓Ki✓il✓ll✓l a✓an✓nd✓d m✓mo✓ov✓ve✓e a✓a b✓bl✓lo✓oc✓ck✓k o✓of✓f t✓te✓ex✓xt✓t
  988.  
  989.      If you wish to kill a block of text, you can either type the
  990. _✓k_✓i_✓l_✓l command <c✓ct✓tr✓rl✓l-K✓K> repeatedly to  kill the block one line at a
  991. time, or  you can  use the _✓b_✓l_✓o_✓c_✓k  _✓k_✓i_✓l_✓l command <c✓ct✓tr✓rl✓l-W✓W>.   To use
  992. this command,  you must first  set  a _✓m_✓a_✓r_✓k on the  screen, an in-
  993. visible character that acts  as a guidepost to the computer.  The
  994. mark is set with the _✓m_✓a_✓r_✓k command <c✓ct✓tr✓rl✓l-@>.
  995.  
  996.      Once the mark is set, you must move your cursor to the other
  997. end of the block of text you wish to kill, and then strike <c✓ct✓tr✓rl✓l-
  998. W✓W>.  The  block of text will  be erased, and will  be ready to be
  999. yanked back elsewhere.
  1000.  
  1001.      Try this  out on t✓te✓ex✓xt✓t1✓1.   Type <e✓es✓sc✓c>< to move  the cursor to
  1002. the upper left-hand corner of the screen.  Then type the _✓s_✓e_✓t _✓m_✓a_✓r_✓k
  1003. command <c✓ct✓tr✓rl✓l-@>.  By the way, be  sure to type a '@', not a '2'.
  1004. MicroEMACS will respond with the message
  1005.  
  1006.      [Mark set]
  1007.  
  1008. at the  bottom of  your screen.  Now,  move the cursor  down four
  1009. lines, and type <c✓ct✓tr✓rl✓l-W✓W>.  Note  how the block of text you marked
  1010. out has disappeared.
  1011.  
  1012.      Move the cursor to  the bottom of your text.  Type <c✓ct✓tr✓rl✓l-Y✓Y>.
  1013. The killed block of text has now been reinserted.
  1014.  
  1015.      When you  yank back text, be sure to  position the cursor at
  1016. the _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g  of the line  _✓b_✓e_✓l_✓o_✓w where you  want the text  to be
  1017. yanked back.  This will ensure  that the text will be yanked back
  1018. in the  proper place, and the  cursor will not be  moved when the
  1019. text reappears.
  1020.  
  1021.      To try this out, move your cursor up four lines.  Be careful
  1022. that  the cursor  is at  the  _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g of  the line.   Now, type
  1023. <c✓ct✓tr✓rl✓l-Y✓Y> again.   Note that the  text reappeared _✓a_✓b_✓o_✓v_✓e  where the
  1024. cursor was positioned, and that the cursor was not moved from its
  1025. position at  the beginning of  the line--which is  not what would
  1026. have happened had  you positioned it in the middle  or at the end
  1027. of a line.
  1028.  
  1029.      Although the  text you are  working with has  only 16 lines,
  1030. you can move much larger portions of text, using only these three
  1031. commands.   Remember, too,  that you  can  use this  technique to
  1032. duplicate large  portions of text  at several positions,  to save
  1033. yourself  considerable time  in typing and  reduce the  number of
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039. MicroEMACS Screen Editor Tutorial                         Page 18
  1040.  
  1041.  
  1042. possible  typographical errors.
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048. MicroEMACS Screen Editor Tutorial                         Page 19
  1049.  
  1050.  
  1051. 6✓6.  C✓Ca✓ap✓pi✓it✓ta✓al✓li✓iz✓za✓at✓ti✓io✓on✓n, T✓Tr✓ra✓an✓ns✓sp✓po✓os✓si✓in✓ng✓g, a✓an✓nd✓d S✓Sc✓cr✓re✓ee✓en✓n R✓Re✓ed✓dr✓ra✓aw✓w
  1052.  
  1053.      The next commands perform a number of useful tasks that will
  1054. help with your editing.  They are as follows:
  1055.  
  1056.      <e✓es✓sc✓c>C✓C    Capitalize a word
  1057.      <e✓es✓sc✓c>L✓L    Lowercase a word
  1058.      <e✓es✓sc✓c>U✓U    Uppercase a word
  1059.  
  1060.      <c✓ct✓tr✓rl✓l-T✓T>  Transpose characters
  1061.  
  1062.      <c✓ct✓tr✓rl✓l-L✓L>  Redraw screen
  1063.  
  1064. Before  you begin  this  section, destroy  the old  text on  your
  1065. screen  with the  _✓q_✓u_✓i_✓t  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>,  and read  into
  1066. MicroEMACS a fresh copy of the text, as you did earlier.
  1067.  
  1068.  
  1069.  
  1070.                     C✓Ca✓ap✓pi✓it✓ta✓al✓li✓iz✓za✓at✓ti✓io✓on✓n a✓an✓nd✓d l✓lo✓ow✓we✓er✓rc✓ca✓as✓si✓in✓ng✓g
  1071.  
  1072.      MicroEMACS has several commands that can automatically capi-
  1073. talize words or make them all upper case or lower case.
  1074.  
  1075.      Move the  cursor to the  letter w✓w of the  word w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n on
  1076. line 2.   Type the  _✓c_✓a_✓p_✓i_✓t_✓a_✓l_✓i_✓z_✓e command  <e✓es✓sc✓c>C✓C.  The word  is now
  1077. capitalized,  and the  cursor is now  positioned under  the space
  1078. after it.  Move the cursor back  so that it is under the letter m✓m
  1079. in W✓Wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n.   Press <e✓es✓sc✓c>C✓C again.   Note that the  word is now
  1080. spelled W✓Wa✓at✓te✓er✓rM✓Me✓el✓lo✓on✓n.  When you press <e✓es✓sc✓c>C✓C, MicroEMACS will capi-
  1081. talize the _✓f_✓i_✓r_✓s_✓t letter the cursor meets.
  1082.  
  1083.      MicroEMACS can  also change a word to all  upper case or all
  1084. lower case.   (There is very little need for  a command that will
  1085. change only  the first character  of an upper-case  word to lower
  1086. case, so it is not included.)
  1087.  
  1088.      Move the cursor so that it  is again to the left of the word
  1089. W✓Wa✓at✓te✓er✓rM✓Me✓el✓lo✓on✓n.  It does not matter if the cursor is directly under W✓W
  1090. or under the space to  its left; therefore, you can capitalize or
  1091. lowercase a number  of words in a row without  having to move the
  1092. cursor.
  1093.  
  1094.      Type the _✓u_✓p_✓p_✓e_✓r_✓c_✓a_✓s_✓e  command <e✓es✓sc✓c>U✓U.  The word is now spelled
  1095. W✓WA✓AT✓TE✓ER✓RM✓ME✓EL✓LO✓ON✓N,  and the  cursor has  jumped to  the space  after the
  1096. word.
  1097.  
  1098.      Again, move  the cursor to the left  of the word W✓WA✓AT✓TE✓ER✓RM✓ME✓EL✓LO✓ON✓N.
  1099. Type the _✓l_✓o_✓w_✓e_✓r_✓c_✓a_✓s_✓e command  <e✓es✓sc✓c>L✓L.  The word has changed back to
  1100. w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n.  Now, move the cursor to the left of the word L✓Li✓if✓fe✓e on
  1101. line 1.  Type <e✓es✓sc✓c>L✓L  once again.  Notice that the quotation mark
  1102. is not  affected by the  command, but the  letter L✓L is  now lower
  1103. case.  <e✓es✓sc✓c>L✓L  not only shifts a  word that is all  upper case to
  1104. lower case: it can also un-capitalize a word.
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110. MicroEMACS Screen Editor Tutorial                         Page 20
  1111.  
  1112.  
  1113.  
  1114.      Note that the  _✓u_✓p_✓p_✓e_✓r_✓c_✓a_✓s_✓e and _✓l_✓o_✓w_✓e_✓r_✓c_✓a_✓s_✓e commands will stop at
  1115. the  first point  of punctuation they  encounter after  the first
  1116. letter they find; therefore, if you  wish to change the case of a
  1117. word with an apostrophe in it, you must type the appropriate com-
  1118. mand twice.
  1119.  
  1120.  
  1121.                        T✓Tr✓ra✓an✓ns✓sp✓po✓os✓se✓e c✓ch✓ha✓ar✓ra✓ac✓ct✓te✓er✓rs✓s
  1122.  
  1123.      MicroEMACS allows you to reverse the position of two charac-
  1124. ters, or _✓t_✓r_✓a_✓n_✓s_✓p_✓o_✓s_✓e them, with the _✓t_✓r_✓a_✓n_✓s_✓p_✓o_✓s_✓e command <c✓ct✓tr✓rl✓l-T✓T>.
  1125.  
  1126.      Move the  cursor to the middle of a  line and type <c✓ct✓tr✓rl✓l-T✓T>.
  1127. Note that the character under which the cursor was positioned has
  1128. been transposed with the character immediately to its _✓l_✓e_✓f_✓t.  Type
  1129. <c✓ct✓tr✓rl✓l-T✓T>  again.   The  characters  are  now  returned  to  their
  1130. original order.
  1131.  
  1132.  
  1133.                           S✓Sc✓cr✓re✓ee✓en✓n r✓re✓ed✓dr✓ra✓aw✓w
  1134.  
  1135.      Occasionally,  while  you  are  editing  you  may  interrupt
  1136. MicroEMACS to invoke  another program, such as an electronic cal-
  1137. culator or  a clock.   When you exit  from that program,  you may
  1138. find that  it has left material on your  screen and scrambled it.
  1139. Although this extraneous  material will _✓n_✓o_✓t be recorded into your
  1140. text, you will need to redraw your screen in order to continue to
  1141. edit.
  1142.  
  1143.  
  1144.      The _✓r_✓e_✓d_✓r_✓a_✓w  _✓s_✓c_✓r_✓e_✓e_✓n command <c✓ct✓tr✓rl✓l-L✓L> will  redraw your screen
  1145. to the way it was before the extraneous material was written onto
  1146. it.
  1147.  
  1148.      Type <c✓ct✓tr✓rl✓l-L✓L>.  Notice  how the screen flickers and the text
  1149. is  rewritten.   Had  your  screen  been  spoiled  by  extraneous
  1150. material, that  material would have been  erased and the original
  1151. text rewritten.
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157. MicroEMACS Screen Editor Tutorial                         Page 21
  1158.  
  1159.  
  1160. 7✓7.  S✓Se✓ea✓ar✓rc✓ch✓h a✓an✓nd✓d R✓Re✓ev✓ve✓er✓rs✓se✓e S✓Se✓ea✓ar✓rc✓ch✓h
  1161.  
  1162.      When  you edit  a large  text, you may  wish to  change par-
  1163. ticular words  or phrases.  To do this, you  can roll through the
  1164. text and read each line to  find them; or you can have MicroEMACS
  1165. find  them  for   you.   The  following  display  summarizes  the
  1166. MicroEMACS search commands:
  1167.  
  1168.      <c✓ct✓tr✓rl✓l-S✓S>  Search forward
  1169.      <c✓ct✓tr✓rl✓l-R✓R>  Search backwards
  1170.      <c✓ct✓tr✓rl✓l-G✓G>  Cancel a search command
  1171.  
  1172.  
  1173.  
  1174.                           S✓Se✓ea✓ar✓rc✓ch✓h f✓fo✓or✓rw✓wa✓ar✓rd✓d
  1175.  
  1176.      To begin, type the  _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g _✓o_✓f _✓t_✓e_✓x_✓t command <e✓es✓sc✓c>< to move
  1177. the cursor  to the upper  left-hand corner of  your screen.  Now,
  1178. type  the _✓s_✓e_✓a_✓r_✓c_✓h  command <c✓ct✓tr✓rl✓l-S✓S>.   MicroEMACS will  respond by
  1179. prompting with the message
  1180.  
  1181.      Search:
  1182.  
  1183. at the bottom of the screen.
  1184.  
  1185.      Type  in  the  words b✓be✓ee✓en✓n  t✓th✓he✓er✓re✓e,  then  press the  carriage
  1186. return.  Notice  that the cursor  has jumped to  the period after
  1187. the  word  t✓th✓he✓er✓re✓e  in the  last  line  of  your text.   MicroEMACS
  1188. searched for the words b✓be✓ee✓en✓n t✓th✓he✓er✓re✓e, found them, and moved the cur-
  1189. sor there.
  1190.  
  1191.      If the word you were searching  for was not in your text, or
  1192. at least was not in the portion that lies between your cursor and
  1193. the end of the text,  MicroEMACS would not have moved the cursor,
  1194. and would have displayed the message
  1195.  
  1196.      Not found
  1197.  
  1198. at the bottom of your screen.
  1199.  
  1200.  
  1201.                           R✓Re✓ev✓ve✓er✓rs✓se✓e s✓se✓ea✓ar✓rc✓ch✓h
  1202.  
  1203.      The  _✓s_✓e_✓a_✓r_✓c_✓h command  <c✓ct✓tr✓rl✓l-S✓S>,  useful as  it  is, can  only
  1204. search forward  through your text.  To  search backwards, use the
  1205. _✓r_✓e_✓v_✓e_✓r_✓s_✓e _✓s_✓e_✓a_✓r_✓c_✓h command <c✓ct✓tr✓rl✓l-R✓R>.  Type <c✓ct✓tr✓rl✓l-R✓R>.  MicroEMACS will
  1206. reply with the message
  1207.  
  1208.      Reverse search [been there]:
  1209.  
  1210. at the  bottom of your screen.  The words  in square brackets are
  1211. the words you  entered earlier for the _✓s_✓e_✓a_✓r_✓c_✓h command; MicroEMACS
  1212. remembered them.   If you wanted to search  for b✓be✓ee✓en✓n t✓th✓he✓er✓re✓e again,
  1213. you would just press the carriage return.  For now, however, type
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219. MicroEMACS Screen Editor Tutorial                         Page 22
  1220.  
  1221.  
  1222. the word w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n and press the carriage return.
  1223.  
  1224.      Notice that  the cursor has  jumped so that it  is under the
  1225. letter w✓w of the word w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n  in line 2.  When you search for-
  1226. ward, the  cursor will move to  the _✓s_✓p_✓a_✓c_✓e _✓a_✓f_✓t_✓e_✓r the  word you are
  1227. searching for, whereas when you reverse search the cursor will be
  1228. moved to the _✓f_✓i_✓r_✓s_✓t _✓l_✓e_✓t_✓t_✓e_✓r of the word you are searching for.
  1229.  
  1230.  
  1231.                    S✓Se✓ea✓ar✓rc✓ch✓h f✓fo✓or✓r p✓po✓or✓rt✓ti✓io✓on✓ns✓s o✓of✓f w✓wo✓or✓rd✓ds✓s
  1232.  
  1233.      You do not  have to search for an entire  word; if you wish,
  1234. you can search for a portion of a word or even a single letter of
  1235. the alphabet.  Note,  however, that the _✓s_✓e_✓a_✓r_✓c_✓h and _✓r_✓e_✓v_✓e_✓r_✓s_✓e _✓s_✓e_✓a_✓r_✓c_✓h
  1236. commands  do _✓n_✓o_✓t  distinguish between  upper-case  and lower-case
  1237. letters--if you  ask MicroEMACS to search for  the letter 'I', it
  1238. will stop at every occurrence of 'i' as well.
  1239.  
  1240.      Type <c✓ct✓tr✓rl✓l-S✓S>; when MicroEMACS asks what to search for, type
  1241. m✓me✓el✓lo✓on✓n.  Note that the cursor jumps  to the end of the word w✓wa✓at✓te✓er✓r-
  1242. m✓me✓el✓lo✓on✓n.  Type <c✓ct✓tr✓rl✓l-S✓S> again, then a carriage return.  Your cursor
  1243. now jumps  to the comma after the word  m✓me✓el✓lo✓on✓n in the next-to-last
  1244. line of the text.  Now  type <c✓ct✓tr✓rl✓l-R✓R>.  The prompt will appear as
  1245. follows:
  1246.  
  1247.      Reverse search [melon]:
  1248.  
  1249. Type a  carriage return.  The  cursor jumped to  the beginning of
  1250. the word m✓me✓el✓lo✓on✓n on line  15.  Type <c✓ct✓tr✓rl✓l-R✓R> again, then a carriage
  1251. return.  The cursor now has  jumped to the letter m✓m in w✓wa✓at✓te✓er✓rm✓me✓el✓lo✓on✓n
  1252. on line 2.
  1253.  
  1254.      When  MicroEMACS searches, it  does not  distinguish between
  1255. whole words and portions of words;  when you ask it to search for
  1256. m✓me✓el✓lo✓on✓n,  it will  find m✓me✓el✓lo✓on✓n  whether it  is a  word by  itself or
  1257. simply part of another word.
  1258.  
  1259.  
  1260.                          C✓Ca✓an✓nc✓ce✓el✓l a✓a c✓co✓om✓mm✓ma✓an✓nd✓d
  1261.  
  1262.      The  commands presented  earlier to  move  the cursor  or to
  1263. delete  or  kill text  all  execute  immediately.  Although  this
  1264. speeds your editing, it also means  that if you type a command by
  1265. mistake, it executes before you can stop it.
  1266.  
  1267.      The _✓s_✓e_✓a_✓r_✓c_✓h  and _✓r_✓e_✓v_✓e_✓r_✓s_✓e  _✓s_✓e_✓a_✓r_✓c_✓h commands, however,  wait for
  1268. you to respond to their prompts before they execute.  If you type
  1269. <c✓ct✓tr✓rl✓l-S✓S> or <c✓ct✓tr✓rl✓l-R✓R>  by accident, MicroEMACS will interrupt your
  1270. editing and  wait patiently for you to initate  a search that you
  1271. do not  want to  perform.  You  can evade this  problem, however,
  1272. with the _✓c_✓a_✓n_✓c_✓e_✓l  command <c✓ct✓tr✓rl✓l-G✓G>.  This command tells MicroEMACS
  1273. to ignore the previous command.
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279. MicroEMACS Screen Editor Tutorial                         Page 23
  1280.  
  1281.  
  1282.      To  see how  this command  works,  type <c✓ct✓tr✓rl✓l-R✓R>.   When the
  1283. prompt  appears at  the  bottom of  your  screen, type  <c✓ct✓tr✓rl✓l-G✓G>.
  1284. Three things happen:   your terminal beeps, the characters ^G✓G ap-
  1285. pears at  the bottom  of your screen,  and the cursor  returns to
  1286. where it  in your text was before you  first typed <c✓ct✓tr✓rl✓l-R✓R>.  The
  1287. <c✓ct✓tr✓rl✓l-R✓R> command has been cancelled, and you are free to continue
  1288. editing.
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294. MicroEMACS Screen Editor Tutorial                         Page 24
  1295.  
  1296.  
  1297. 8✓8.  S✓Sa✓av✓vi✓in✓ng✓g T✓Te✓ex✓xt✓t a✓an✓nd✓d E✓Ex✓xi✓it✓ti✓in✓ng✓g
  1298.  
  1299.      The last  set of  basic editing  commands allow you  to save
  1300. your  text and  exit from  the MicroEMACS  program.  They  are as
  1301. follows:
  1302.  
  1303.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>  Save text
  1304.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>  Write text to a new file
  1305.  
  1306.      <c✓ct✓tr✓rl✓l-Z✓Z>          Save text and exit
  1307.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>  Exit without saving text
  1308.  
  1309. You have  used two of  these commands already:   the _✓s_✓a_✓v_✓e command
  1310. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>  and the  _✓q_✓u_✓i_✓t command   <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>, which
  1311. respectively allow  you to save  text or to  exit from MicroEMACS
  1312. without  saving text.   (Commands  that begin  with <c✓ct✓tr✓rl✓l-X✓X>  are
  1313. called  _✓e_✓x_✓t_✓e_✓n_✓d_✓e_✓d commands;  they are used  frequently in  the ad-
  1314. vanced  editing  to  be  covered  in  the  second  half  of  this
  1315. tutorial.)
  1316.  
  1317.  
  1318.                      W✓Wr✓ri✓it✓te✓e t✓te✓ex✓xt✓t t✓to✓o a✓a n✓ne✓ew✓w f✓fi✓il✓le✓e
  1319.  
  1320.      If you wish, you may copy the text you are currently editing
  1321. to a text file other than  the one from which you originally took
  1322. the text.  Do this with the _✓w_✓r_✓i_✓t_✓e command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>.
  1323.  
  1324.      To  test this  command,  type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>.   MicroEMACS
  1325. will display the following message on the bottom of your screen:
  1326.  
  1327.      Write file:
  1328.  
  1329. MicroEMACS is asking  for the name of the file  to which you want
  1330. to write the text.  Type t✓tw✓wa✓ai✓in✓n.  MicroEMACS will reply:
  1331.  
  1332.      [Wrote 16 lines]
  1333.  
  1334. The 16 lines of your text  have been copied to a new file, called
  1335. t✓tw✓wa✓ai✓in✓n.  Note  that the status  line at the bottom  of your screen
  1336. has changed to read as follows:
  1337.  
  1338.  
  1339. -- MicroEMACS -- text1 -- File: twain ---------------------------
  1340.  
  1341.  
  1342. The significance of the change  in file name will be discussed in
  1343. the second half of this tutorial.
  1344.  
  1345.      Before you  copy text to a  new file, be sure  that you have
  1346. not selected a file name that  is already being used.  If you do,
  1347. whatever is being stored under that file name will be erased, and
  1348. the text created with MicroEMACS will be stored in its place.
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355. MicroEMACS Screen Editor Tutorial                         Page 25
  1356.  
  1357.  
  1358.                         S✓Sa✓av✓ve✓e t✓te✓ex✓xt✓t a✓an✓nd✓d e✓ex✓xi✓it✓t
  1359.  
  1360.      Finally, the _✓s_✓t_✓o_✓r_✓e command  <c✓ct✓tr✓rl✓l-Z✓Z> will save your text _✓a_✓n_✓d
  1361. move you  out of the MicroEMACS program.  To  see how this works,
  1362. watch the bottom line  of your terminal carefully and type <c✓ct✓tr✓rl✓l-
  1363. Z✓Z>.  If you watched carefully,  you would have seen that the mes-
  1364. sage
  1365.  
  1366.      [Wrote 16 lines]
  1367.  
  1368. flickered  on  your screen,  then  the   MS-DOS prompt  appeared.
  1369. MicroEMACS has  saved your text,  and now you  can issue commands
  1370. directly to  MS-DOS.
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376. MicroEMACS Screen Editor Tutorial                         Page 26
  1377.  
  1378.  
  1379. 9✓9.  B✓Ba✓as✓si✓ic✓c E✓Ed✓di✓it✓ti✓in✓ng✓g--C✓Co✓on✓nc✓cl✓lu✓us✓si✓io✓on✓n a✓an✓nd✓d S✓Su✓um✓mm✓ma✓ar✓ry✓y
  1380.  
  1381.      This concludes  the presentation of  MicroEMACS's basic com-
  1382. mands.  The  second half of  this tutorial will  introduce you to
  1383. the  advanced  features  of  the  MicroEMACS  interactive  screen
  1384. editor.
  1385.  
  1386.      This section  introduced the basics of  using an interactive
  1387. screen editor,  and presented  the basic MicroEMACS  editing com-
  1388. mands.
  1389.  
  1390.      If  you have  mastered the  commands  and techniques  in the
  1391. first half  of this tutorial,  you may have  no need to  work any
  1392. further, because  you now can  create a file, edit  it, store it,
  1393. and recall it for further editing.
  1394.  
  1395.      The tutorial gives instructions on how to invoke MicroEMACS,
  1396. how to  name a text file,  and the meaning of  the information in
  1397. the MicroEMACS command line.
  1398.  
  1399.      An exercise  text is presented,  and instructions on  how to
  1400. type in the text and save it are given.
  1401.  
  1402.      A number  of commands can be used to  move the cursor around
  1403. the screen.   <c✓ct✓tr✓rl✓l-F✓F> and <e✓es✓sc✓c>F✓F move the  cursor forward on the
  1404. line.  <c✓ct✓tr✓rl✓l-B✓B> and <e✓es✓sc✓c>B✓B move the cursor backwards on the line.
  1405. <c✓ct✓tr✓rl✓l-P✓P> and  <c✓ct✓tr✓rl✓l-N✓N> move  the cursor  to the previous  or next
  1406. lines, respectively.   <c✓ct✓tr✓rl✓l-A✓A> and  <c✓ct✓tr✓rl✓l-E✓E> move the  cursor to
  1407. the beginning  or the end of the  line, respectively.  <e✓es✓sc✓c>< and
  1408. <e✓es✓sc✓c>>  move the  cursor to  the  beginning or  end of  the text,
  1409. respectively.  <c✓ct✓tr✓rl✓l-V✓V>  and <e✓es✓sc✓c>V✓V  roll the screen  forwards or
  1410. backwards, respectively.
  1411.  
  1412.      You can erase text in a number of ways.  <c✓ct✓tr✓rl✓l-D✓D> and <e✓es✓sc✓c>D✓D
  1413. erase text to the right.  <d✓de✓el✓l> and <e✓es✓sc✓c><d✓de✓el✓l>  erase text to the
  1414. left.  <c✓ct✓tr✓rl✓l-K✓K>  erases a line of  text (or a portion  of a line,
  1415. should the cursor be  positioned in the middle of line).  <c✓ct✓tr✓rl✓l-D✓D
  1416. and <d✓de✓el✓l>  _✓d_✓e_✓l_✓e_✓t_✓e text, whereas <e✓es✓sc✓c>D✓D,  <e✓es✓sc✓c><d✓de✓el✓l>, and <c✓ct✓tr✓rl✓l-K✓K>
  1417. _✓k_✓i_✓l_✓l text.  <c✓ct✓tr✓rl✓l-Y✓Y> yanks back killed text.
  1418.  
  1419.      Text can  be block  killed and moved  from one part  of your
  1420. text to another.  To mark a block of text for killing, first type
  1421. <c✓ct✓tr✓rl✓l-@>  at one  end, then  move  the cursor  to the  other end.
  1422. Typing  <c✓ct✓tr✓rl✓l-W✓W> kills  the marked  block  of text,  and <c✓ct✓tr✓rl✓l-Y✓Y>
  1423. yanks back killed text.
  1424.  
  1425.      The following commands allow the user to block-kill and move
  1426. text.  <c✓ct✓tr✓rl✓l-@>  sets a mark;  <c✓ct✓tr✓rl✓l-W✓W> deletes all  text between
  1427. the mark  and the cursor.   <c✓ct✓tr✓rl✓l-Y✓Y> yanks back  the block-killed
  1428. text wherever the cursor is positioned.
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434. MicroEMACS Screen Editor Tutorial                         Page 27
  1435.  
  1436.  
  1437.      Specific  commands   capitalize,  uppercase,  and  lowercase
  1438. words:  <e✓es✓sc✓c>C✓C capitalizes  a word; <e✓es✓sc✓c>L✓L lowercases a word; and
  1439. <e✓es✓sc✓c>U✓U  uppercases  a word.   <c✓ct✓tr✓rl✓l-T✓T>  allows  you to  transpose
  1440. characters  automatically,  and   <c✓ct✓tr✓rl✓l-L✓L>  redraws  a  scrambled
  1441. screen.
  1442.  
  1443.      Words or parts of  words can be searched for either forwards
  1444. or backwards  through the  text:  <c✓ct✓tr✓rl✓l-S✓S> searches  forward, and
  1445. <c✓ct✓tr✓rl✓l-R✓R> searches backwards.  <c✓ct✓tr✓rl✓l-G✓G> cancels these commands.
  1446.  
  1447.      Finally, <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>  saves text  to the file  named on
  1448. the command  line; <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C> allows the  user to exit from
  1449. MicroEMACS without saving text; and <c✓ct✓tr✓rl✓l-Z✓Z> saves text and moves
  1450. you back into  MS-DOS.
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. MicroEMACS Screen Editor Tutorial                         Page 28
  1457.  
  1458.  
  1459. 1✓10✓0.  A✓Ad✓dv✓va✓an✓nc✓ce✓ed✓d E✓Ed✓di✓it✓ti✓in✓ng✓g
  1460.  
  1461.      The second half of  this tutorial will introduce you to  the
  1462. advanced features of the MicroEMACS interactive screen editor.
  1463.  
  1464.      The techniques described  here will help you execute complex
  1465. editing tasks  with minimal  trouble.  You  will be able  to edit
  1466. more than one text at a  time, display more than one text on your
  1467. screen at  a time, enter a long  or complicated phrase repeatedly
  1468. with only one keystroke, and give commands to the COHERENT system
  1469. without having to exit from MicroEMACS.
  1470.  
  1471.      Before beginning, however, you must prepare a new text file-
  1472. -you were  probably a little tired of  watermelon by now, anyway.
  1473. Type the following command to the COHERENT system:
  1474.  
  1475.         me text2
  1476.  
  1477. This text  has been included on the  diskettes that contained the
  1478. MWC86 compiler; there is no  need to retype it.  Within a moment,
  1479. t✓te✓ex✓xt✓t2✓2 will appear on your screen, as follows:
  1480.  
  1481.         From the "Devil's Dictionary":
  1482.         A penny saved is a penny to squander.
  1483.         A man is known by the company he organizes.
  1484.         A bird in the hand is worth what it will bring.
  1485.         Think twice before you speak to a friend in need.
  1486.         He laughs best who laughs least.
  1487.         Least said is soonest disavowed.
  1488.         Speak of the Devil and he will hear about it.
  1489.         Of two evils choose to be the least.
  1490.         Strike while your employer has a big contract.
  1491.         Where there's a will there's a won't.
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497. MicroEMACS Screen Editor Tutorial                         Page 29
  1498.  
  1499.  
  1500. 1✓11✓1.  A✓Ar✓rg✓gu✓um✓me✓en✓nt✓ts✓s
  1501.  
  1502.      Most of  the commands  described in  the first part  of this
  1503. tutorial can be used with _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t_✓s.  An argument is a subcommand
  1504. that  tells MicroEMACS  to  execute a  command repeatedly.   With
  1505. MicroEMACS, arguments are introduced by striking <c✓ct✓tr✓rl✓l-U✓U>.
  1506.  
  1507.  
  1508.                     A✓Ar✓rg✓gu✓um✓me✓en✓nt✓ts✓s--d✓de✓ef✓fa✓au✓ul✓lt✓t v✓va✓al✓lu✓ue✓es✓s
  1509.  
  1510.      By  itself, <c✓ct✓tr✓rl✓l-U✓U>  sets the  argument  at _✓f_✓o_✓u_✓r.   To test
  1511. this, first type the _✓n_✓e_✓x_✓t _✓l_✓i_✓n_✓e command <c✓ct✓tr✓rl✓l-N✓N>.  By itself, this
  1512. command moves the cursor down one line, from being under the F✓F in
  1513. the word F✓Fr✓ro✓om✓m on line 1, to being under the A✓A at the beginning of
  1514. line 2.
  1515.  
  1516.      Now, type  <c✓ct✓tr✓rl✓l-U✓U>.  Note that MicroEMACS  replies with the
  1517. message:
  1518.  
  1519.         Arg: 4
  1520.  
  1521. Now type  <c✓ct✓tr✓rl✓l-N✓N>.  The cursor  jumps down _✓f_✓o_✓u_✓r  lines, from the
  1522. letter A✓A in line 2 to  the  letter H✓H of the word H✓He✓e at the begin-
  1523. ning of line 6.
  1524.  
  1525.      Type <c✓ct✓tr✓rl✓l-U✓U>.   The line at the bottom  of the screen again
  1526. shows that the value of  the argument is 4.  Type <c✓ct✓tr✓rl✓l-U✓U> again.
  1527. Now the line at the bottom of the screen reads:
  1528.  
  1529.         Arg: 16
  1530.  
  1531. Type <c✓ct✓tr✓rl✓l-U✓U>  once more.  The  line at the bottom  of the screen
  1532. now reads:
  1533.  
  1534.         Arg: 64
  1535.  
  1536. Each time  you type <c✓ct✓tr✓rl✓l-U✓U>,  the value of the  argument is _✓m_✓u_✓l-
  1537. _✓t_✓i_✓p_✓l_✓i_✓e_✓d by four.   Type the _✓f_✓o_✓r_✓w_✓a_✓r_✓d command <c✓ct✓tr✓rl✓l-F✓F>.  The cursor
  1538. has jumped  ahead 64 characters,  and is now under  the period at
  1539. the end of line 7.
  1540.  
  1541.  
  1542.                          S✓Se✓el✓le✓ec✓ct✓ti✓in✓ng✓g v✓va✓al✓lu✓ue✓es✓s
  1543.  
  1544.      Naturally, arguments do not  have to be powers of four.  You
  1545. can  set the  argument  to whatever  number you  wish, simply  by
  1546. typing <c✓ct✓tr✓rl✓l-U✓U> and then typing in the number you want.
  1547.  
  1548.      For example,  type <c✓ct✓tr✓rl✓l-U✓U>, and  then type 3✓3.   The line at
  1549. the bottom of the screen now reads:
  1550.  
  1551.         Arg: 3
  1552.  
  1553. Type the _✓d_✓e_✓l_✓e_✓t_✓e command <e✓es✓sc✓c><d✓de✓el✓l>.  MicroEMACS has deleted three
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559. MicroEMACS Screen Editor Tutorial                         Page 30
  1560.  
  1561.  
  1562. words to the left.
  1563.  
  1564.      Arguments can  be used to  increase the power  of any _✓c_✓u_✓r_✓s_✓o_✓r
  1565. _✓m_✓o_✓v_✓e_✓m_✓e_✓n_✓t command,  or any _✓k_✓i_✓l_✓l  or _✓d_✓e_✓l_✓e_✓t_✓e command  (with the sole
  1566. exception of <c✓ct✓tr✓rl✓l-W✓W>, the _✓b_✓l_✓o_✓c_✓k _✓k_✓i_✓l_✓l command).
  1567.  
  1568.  
  1569.               D✓De✓el✓le✓et✓ti✓in✓ng✓g w✓wi✓it✓th✓h a✓ar✓rg✓gu✓um✓me✓en✓nt✓ts✓s--a✓an✓n e✓ex✓xc✓ce✓ep✓pt✓ti✓io✓on✓n
  1570.  
  1571.      _✓K_✓i_✓l_✓l_✓i_✓n_✓g  and _✓d_✓e_✓l_✓e_✓t_✓i_✓n_✓g  were described in  the first  part of
  1572. this tutorial.   They were said  to differ in that  text that was
  1573. killed was stored in a special  area of the computer and could be
  1574. yanked back,  whereas text that was  deleted was erased outright.
  1575. However, there  is one exception  to this rule: any  text that is
  1576. deleted using an argument can also be yanked back.
  1577.  
  1578.      Move the cursor to  the upper left-hand corner of the screen
  1579. by  typing the  _✓b_✓e_✓g_✓i_✓n  _✓t_✓e_✓x_✓t command  <e✓es✓sc✓c><.   Then, type  <c✓ct✓tr✓rl✓l-
  1580. U✓U><c✓ct✓tr✓rl✓l-D✓D>.  Note  that the word F✓Fr✓ro✓om✓m  has disappeared.  Move the
  1581. cursor to  the right  until it is  between the words  D✓De✓ev✓vi✓il✓l's✓s and
  1582. D✓Di✓ic✓ct✓ti✓io✓on✓na✓ar✓ry✓y,  then type  <c✓ct✓tr✓rl✓l-Y✓Y>.  The word  F✓Fr✓ro✓om✓m has  been moved
  1583. within  the line  (although the  spaces around  it have  not been
  1584. moved).   This routine  is very handy,  and should  greatly speed
  1585. your editing.
  1586.  
  1587.      Remember, too,  that unless you move  the cursor between one
  1588. set of  deletions and another,  the computer's storage  area will
  1589. not be erased, and you may yank back a jumble of text.
  1590.  
  1591.  
  1592.                        A✓Ar✓rg✓gu✓um✓me✓en✓nt✓ts✓s--e✓ex✓xe✓er✓rc✓ci✓is✓se✓es✓s
  1593.  
  1594.      The next  few exercises  show how  arguments can be  used to
  1595. make your  editing commands more powerful  and efficient.  Before
  1596. beginning, type <e✓es✓sc✓c>< to  move the cursor to the upper left-hand
  1597. corner of your screen.
  1598.  
  1599.      1✓1.  Lowercase the  word D✓De✓ev✓vi✓il✓l in  line 8.  Use  no more than
  1600. three commands.   (<ctrl-U> plus a  number and command  counts as
  1601. one command.)
  1602.  
  1603.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To move the  cursor, type <c✓ct✓tr✓rl✓l-U✓U>7✓7<c✓ct✓tr✓rl✓l-N✓N>, then
  1604. <c✓ct✓tr✓rl✓l-U✓U>3✓3 <e✓es✓sc✓c>F✓F.  Then type <e✓es✓sc✓c>L✓L.
  1605.  
  1606.      2✓2.  Kill the last four lines  of the text.  Use no more than
  1607. two commands.
  1608.  
  1609.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To  move the  cursor, type  <c✓ct✓tr✓rl✓l-A✓A>.   Then type
  1610. <c✓ct✓tr✓rl✓l-U✓U><c✓ct✓tr✓rl✓l-K✓K>.
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616. MicroEMACS Screen Editor Tutorial                         Page 31
  1617.  
  1618.  
  1619.      3✓3.  Make two  copies of the killed lines at  the top of your
  1620. text.  Use no more than two commands.
  1621.  
  1622.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To  move  the  cursor,  type <e✓es✓sc✓c><.   Then  type
  1623. <c✓ct✓tr✓rl✓l-U✓U>2✓2<c✓ct✓tr✓rl✓l-Y✓Y>.
  1624.  
  1625.      4✓4.  Finally,  delete the  last 23  characters of  the second
  1626. line of text.  Use no more than four commands.
  1627.  
  1628.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To move the cursor, type <e✓es✓sc✓c><, <c✓ct✓tr✓rl✓l-N✓N>, <c✓ct✓tr✓rl✓l-
  1629. E✓E>, and then <c✓ct✓tr✓rl✓l-U✓U>2✓23✓3<d✓de✓el✓l>.
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635. MicroEMACS Screen Editor Tutorial                         Page 32
  1636.  
  1637.  
  1638. 1✓12✓2.  B✓Bu✓uf✓ff✓fe✓er✓rs✓s a✓an✓nd✓d F✓Fi✓il✓le✓es✓s
  1639.  
  1640.      Before beginning  this section, replace the  mangled copy of
  1641. the text on your screen with a fresh copy.  Type the _✓q_✓u_✓i_✓t command
  1642. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C> to exit from MicroEMACS without saving the text;
  1643. once the MS-DOS prompt appears, return to MicroEMACS by typing:
  1644.  
  1645.         me text2
  1646.  
  1647. Now look  at the status  line at the  bottom of your  screen.  It
  1648. should appear as follows:
  1649.  
  1650.  
  1651. -- MicroEMACS -- text2 -- File: text2 ---------------------------
  1652.  
  1653.  
  1654. As noted  in the first  half of this  tutorial,  the name  on the
  1655. left of the command line is that of the program.  The name in the
  1656. middle is the name of the  _✓b_✓u_✓f_✓f_✓e_✓r with which you are now working,
  1657. and the name to the right  is the name of the _✓f_✓i_✓l_✓e from which you
  1658. read the text.
  1659.  
  1660.  
  1661.                            D✓De✓ef✓fi✓in✓ni✓it✓ti✓io✓on✓ns✓s
  1662.  
  1663.      A _✓f_✓i_✓l_✓e  is a text  that has been  given a name  and has been
  1664. permanently stored  in your computer.   A _✓b_✓u_✓f_✓f_✓e_✓r is  a portion of
  1665. the computer's  memory that  has been set  aside for you  to use,
  1666. that may  be given a name,  and into which you  can put text tem-
  1667. porarily.  You can put text into  the buffer by typing it in from
  1668. your keyboard or by _✓c_✓o_✓p_✓y_✓i_✓n_✓g it from a file.
  1669.  
  1670.      Unlike a file, a  buffer is not permanent:  if your computer
  1671. were to  stop working (because you turned the  power off, for ex-
  1672. ample),   a file  would not  be affected, but  a buffer  would be
  1673. erased.
  1674.  
  1675.      You must  _✓n_✓a_✓m_✓e your  files because  you work with  many dif-
  1676. ferent  files, and  you must  have some way  to tell  them apart.
  1677. Likewise, MicroEMACS allows you to _✓n_✓a_✓m_✓e your buffer, because with
  1678. MicroEMACS you can work with more than one buffer at a time.
  1679.  
  1680.  
  1681.                      F✓Fi✓il✓le✓e a✓an✓nd✓d b✓bu✓uf✓ff✓fe✓er✓r c✓co✓om✓mm✓ma✓an✓nd✓ds✓s
  1682.  
  1683.      MicroEMACS gives you a number of commands for handling files
  1684. and buffers.  The following display summarizes them.
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690. MicroEMACS Screen Editor Tutorial                         Page 33
  1691.  
  1692.  
  1693.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>   Write text to file
  1694.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>   Rename file
  1695.  
  1696.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>   Replace buffer with named file
  1697.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>   Switch buffer or create a new buffer
  1698.  
  1699.      <c✓ct✓tr✓rl✓l-X✓X>K✓K          Delete a buffer
  1700.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>   Display the status of each buffer
  1701.  
  1702.  
  1703.  
  1704.                     W✓Wr✓ri✓it✓te✓e a✓an✓nd✓d r✓re✓en✓na✓am✓me✓e c✓co✓om✓mm✓ma✓an✓nd✓ds✓s
  1705.  
  1706.      The  _✓w_✓r_✓i_✓t_✓e command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>  was reviewed  earlier,
  1707. when the commands for saving text and exiting were discussed.  To
  1708. review, <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W> changes  the name of the file into which
  1709. the text is  saved, and then writes a copy  of the text into that
  1710. file.
  1711.  
  1712.      Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>.  MicroEMACS responds by printing
  1713.  
  1714.      Write file:
  1715.  
  1716. on the last line of your screen.
  1717.  
  1718.      Type j✓ju✓un✓nk✓kf✓fi✓il✓le✓e,  then a carriage return.   Two things happen:
  1719. First, MicroEMACS writes the message
  1720.  
  1721.      [Wrote 11 lines]
  1722.  
  1723. at the bottom of your screen.  Second, the name of the file shown
  1724. on  the   status  line  has  changed   from  t✓te✓ex✓xt✓t2✓2  to  j✓ju✓un✓nk✓kf✓fi✓il✓le✓e.
  1725. MicroEMACS is reminding you that your text will be saved from now
  1726. on to  the file  j✓ju✓un✓nk✓kf✓fi✓il✓le✓e, unless you  change the file  name once
  1727. again.
  1728.  
  1729.      The _✓f_✓i_✓l_✓e  _✓r_✓e_✓n_✓a_✓m_✓e command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>  allows you rename
  1730. the  file to  which you  are  saving text,  _✓w_✓i_✓t_✓h_✓o_✓u_✓t automatically
  1731. writing the text  to it.  Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>.  MicroEMACS will
  1732. reply with the prompt:
  1733.  
  1734.      Name:
  1735.  
  1736. Now type t✓te✓ex✓xt✓t2✓2.  Note that MicroEMACS does _✓n_✓o_✓t send you a message
  1737. that lines  were written  to the file;  however, the name  of the
  1738. file shown  on the status line has changed  from j✓ju✓un✓nk✓kf✓fi✓il✓le✓e back to
  1739. t✓te✓ex✓xt✓t2✓2.  Until  you change the name of the  file again, every time
  1740. you save  the text from this  buffer, it will be  copied into the
  1741. file t✓te✓ex✓xt✓t2✓2.
  1742.  
  1743.  
  1744.                      R✓Re✓ep✓pl✓la✓ac✓ce✓e t✓te✓ex✓xt✓t i✓in✓n a✓a b✓bu✓uf✓ff✓fe✓er✓r
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750. MicroEMACS Screen Editor Tutorial                         Page 34
  1751.  
  1752.  
  1753.      The _✓r_✓e_✓p_✓l_✓a_✓c_✓e  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R> allows  you to replace
  1754. the text in your buffer with the text taken from file.
  1755.  
  1756.      Suppose, for  example, that you  had edited t✓te✓ex✓xt✓t2✓2  and saved
  1757. it,  and  now  wished   to  edit  t✓te✓ex✓xt✓t1✓1.   You  could  exit  from
  1758. MicroEMACS,  then re-invoke  MicroEMACS for  the file  t✓te✓ex✓xt✓t2✓2, but
  1759. this is  cumbersome.  A more  efficient way is  to simply replace
  1760. the t✓te✓ex✓xt✓t2✓2 in your buffer with t✓te✓ex✓xt✓t1✓1.
  1761.  
  1762.      Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>.  MicroEMACS replies with the prompt:
  1763.  
  1764.      Read file:
  1765.  
  1766. Type t✓te✓ex✓xt✓t1✓1.  Notice that  t✓te✓ex✓xt✓t2✓2 has rolled away and been replaced
  1767. with t✓te✓ex✓xt✓t1✓1.   Now, check the  status line.  Notice  that although
  1768. the name of  the _✓b_✓u_✓f_✓f_✓e_✓r is still t✓te✓ex✓xt✓t2✓2, the  name of the _✓f_✓i_✓l_✓e has
  1769. changed  to t✓te✓ex✓xt✓t1✓1.   You can  now edit t✓te✓ex✓xt✓t1✓1;  when you  save the
  1770. edited text,  MicroEMACS will copy it back  into the file t✓te✓ex✓xt✓t1✓1--
  1771. unless,  of course, you choose to rename the file.
  1772.  
  1773.  
  1774.                      V✓Vi✓is✓si✓it✓ti✓in✓ng✓g a✓an✓no✓ot✓th✓he✓er✓r b✓bu✓uf✓ff✓fe✓er✓r
  1775.  
  1776.      The  last command  of this  set,  the _✓v_✓i_✓s_✓i_✓t  command  <c✓ct✓tr✓rl✓l-
  1777. X✓X><c✓ct✓tr✓rl✓l-V✓V>, allows you to create  more than one buffer at a time,
  1778. to jump  from one buffer to another, and  move text between buff-
  1779. ers.  This powerful command has numerous features.
  1780.  
  1781.      Before  beginning,  however, straighten  up  your buffer  by
  1782. replacing  t✓te✓ex✓xt✓t1✓1 with  t✓te✓ex✓xt✓t2✓2.  Type  the _✓r_✓e_✓p_✓l_✓a_✓c_✓e  command  <c✓ct✓tr✓rl✓l-
  1783. X✓X><c✓ct✓tr✓rl✓l-R✓R>; when MicroEMACS replies by asking
  1784.  
  1785.      Read file:
  1786.  
  1787. at the bottom of your screen, type t✓te✓ex✓xt✓t2✓2.
  1788.  
  1789.      You  should now  have the  file t✓te✓ex✓xt✓t2✓2  read into  the buffer
  1790. named t✓te✓ex✓xt✓t2✓2.
  1791.  
  1792.      Now,  type the  _✓v_✓i_✓s_✓i_✓t command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>.  MicroEMACS
  1793. replies with the prompt
  1794.  
  1795.      Visit file:
  1796.  
  1797. at the  bottom of  the screen.   Now type t✓te✓ex✓xt✓t1✓1.   Several things
  1798. will now happen.  t✓te✓ex✓xt✓t2✓2 rolls off the screen and is replaced with
  1799. t✓te✓ex✓xt✓t1✓1; the status line changes  to show that both the buffer name
  1800. and the file name are now t✓te✓ex✓xt✓t1✓1; and the message
  1801.  
  1802.      [Read 16 lines]
  1803.  
  1804. appears at the bottom of the screen.
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810. MicroEMACS Screen Editor Tutorial                         Page 35
  1811.  
  1812.  
  1813.      This  does  _✓n_✓o_✓t  mean that  your  previous  buffer has  been
  1814. erased, as  it would have  been had you used  the _✓r_✓e_✓p_✓l_✓a_✓c_✓e command
  1815. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>.  t✓te✓ex✓xt✓t2✓2  is still being  kept alive in  a buffer
  1816. and is  available for editing; however, it is  not being shown on
  1817. your screen at the present moment.
  1818.  
  1819.      Type  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V> again, and  when the  prompt appears,
  1820. type t✓te✓ex✓xt✓t2✓2.   t✓te✓ex✓xt✓t1✓1 scrolls  off your  screen and is  replaced by
  1821. t✓te✓ex✓xt✓t2✓2, and the message
  1822.  
  1823.      [Old buffer]
  1824.  
  1825. appears at the bottom of  your screen.  You have just jumped from
  1826. one buffer to another.
  1827.  
  1828.  
  1829.                M✓Mo✓ov✓ve✓e t✓te✓ex✓xt✓t f✓fr✓ro✓om✓m o✓on✓ne✓e b✓bu✓uf✓ff✓fe✓er✓r t✓to✓o a✓an✓no✓ot✓th✓he✓er✓r
  1830.  
  1831.      The _✓v_✓i_✓s_✓i_✓t command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V> not only allows you jump
  1832. from one buffer to another:  it  allows you to _✓m_✓o_✓v_✓e _✓t_✓e_✓x_✓t from one
  1833. buffer to  another as well.  The following  example shows how you
  1834. can do this.
  1835.  
  1836.      First, kill the first line  of t✓te✓ex✓xt✓t2✓2 by typing the _✓k_✓i_✓l_✓l com-
  1837. mand <c✓ct✓tr✓rl✓l-K✓K> twice.  This removes  both the line of text _✓a_✓n_✓d the
  1838. space that it  occupied; if you did not remove  the space as well
  1839. the line  itself, no new line  will be created for  the text when
  1840. you yank it back.  Next, type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>; when the prompt
  1841.  
  1842.      Visit file:
  1843.  
  1844. appears at the bottom of your screen, type t✓te✓ex✓xt✓t1✓1.  When t✓te✓ex✓xt✓t1✓1 has
  1845. rolled onto  your screen, type  the _✓y_✓a_✓n_✓k _✓b_✓a_✓c_✓k  command  <c✓ct✓tr✓rl✓l-Y✓Y>.
  1846. The line you killed in t✓te✓ex✓xt✓t2✓2 has now been moved into t✓te✓ex✓xt✓t1✓1.
  1847.  
  1848.  
  1849.                       C✓Ch✓he✓ec✓ck✓ki✓in✓ng✓g b✓bu✓uf✓ff✓fe✓er✓r s✓st✓ta✓at✓tu✓us✓s
  1850.  
  1851.      The number of buffers you can use at any one time is limited
  1852. only by  the size  of your computer.   You should create  only as
  1853. many buffers  as you need to use immediately;  this will help the
  1854. computer run efficiently.
  1855.  
  1856.      To help  you keep track of your  buffers, MicroEMACS has the
  1857. _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>.   Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>.
  1858. Note that  the status line has  moved up to the  middle of the of
  1859. the screen, and the bottom  half of your screen has been replaced
  1860. with the following display:
  1861.  
  1862.      C   Size Buffer           File
  1863.      -   ---- ------           ----
  1864.      *    913 text1            text1
  1865.      *    423 text2            text2
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871. MicroEMACS Screen Editor Tutorial                         Page 36
  1872.  
  1873.  
  1874. This display is called the _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s _✓w_✓i_✓n_✓d_✓o_✓w.  The use of win-
  1875. dows will be discussed more fully in the following section.
  1876.  
  1877.      The letter  C✓C over the  leftmost column stands  for C✓Ch✓ha✓an✓ng✓ge✓ed✓d.
  1878. An asterisk on a line indicates that the buffer has been changed,
  1879. while a  space means that the buffer has  not been changed.  S✓Si✓iz✓ze✓e
  1880. indicates  the buffer's  size,  in number  of characters;  B✓Bu✓uf✓ff✓fe✓er✓r
  1881. lists the buffer name, and F✓Fi✓il✓le✓e lists the file name.
  1882.  
  1883.      Now, kill  the second line of t✓te✓ex✓xt✓t1✓1 by  typing the _✓k_✓i_✓l_✓l com-
  1884. mand  <c✓ct✓tr✓rl✓l-K✓K>, then type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B> once again.  Note that
  1885. size of  the buffer t✓te✓ex✓xt✓t1✓1 has been reduced  from 913 character to
  1886. 881, to reflect the decrease in the size of the buffer.
  1887.  
  1888.      To make this  display disappear, type the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command
  1889. <c✓ct✓tr✓rl✓l-X✓X>1✓1.  This  command will be  discussed in full  in the next
  1890. section.
  1891.  
  1892.  
  1893.                         R✓Re✓en✓na✓am✓mi✓in✓ng✓g a✓a b✓bu✓uf✓ff✓fe✓er✓r
  1894.  
  1895.      One more point must  be covered with the _✓v_✓i_✓s_✓i_✓t command.  MS-
  1896. DOS will not  allow you to have more than  one file with the same
  1897. name,  in  order   to  avoid  confusion;  for  the  same  reason,
  1898. MicroEMACS will  not allow you to have more  than one _✓b_✓u_✓f_✓f_✓e_✓r with
  1899. the same name.
  1900.  
  1901.      Ordinarily, when  you visit a file that is  not already in a
  1902. buffer, MicroEMACS will create a  new buffer and give it the same
  1903. name that  the file you  are visiting has.  However,  if for some
  1904. reason you already  have a buffer with the same  name as the file
  1905. you wish  to visit, MicroEMACS  will stop and  ask you to  give a
  1906. new, different name to the buffer it is creating.
  1907.  
  1908.      For example,  suppose that  you wanted  to visit a  new _✓f_✓i_✓l_✓e
  1909. called s✓sa✓am✓mp✓pl✓le✓e,  perhaps from  another directory, but  you already
  1910. had a  _✓b_✓u_✓f_✓f_✓e_✓r named s✓sa✓am✓mp✓pl✓le✓e.   MicroEMACS would stop  and give you
  1911. this prompt at the bottom of the screen:
  1912.  
  1913.      Buffer name:
  1914.  
  1915. When you named this  new buffer, MicroEMACS would proceed to read
  1916. t✓te✓ex✓xt✓t2✓2 into it.
  1917.  
  1918.  
  1919.                          D✓De✓el✓le✓et✓te✓e a✓a b✓bu✓uf✓ff✓fe✓er✓r
  1920.  
  1921.      If you wish to delete a buffer, simply type the _✓d_✓e_✓l_✓e_✓t_✓e _✓b_✓u_✓f_✓f-
  1922. _✓e_✓r command <c✓ct✓tr✓rl✓l-X✓X>K✓K.  This command will allow you only to delete
  1923. a buffer that is hidden, not one that is being displayed.
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929. MicroEMACS Screen Editor Tutorial                         Page 37
  1930.  
  1931.  
  1932.      Type <c✓ct✓tr✓rl✓l-X✓X>K✓K.  MicroEMACS will give you the prompt:
  1933.  
  1934.      Kill buffer:
  1935.  
  1936. Type  t✓te✓ex✓xt✓t2✓2.  Because  you  have changed  the buffer,  MicroEMACS
  1937. asks:
  1938.  
  1939.      Discard changes [y/n]?
  1940.  
  1941. Type y✓y, and then type the _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>;
  1942. the buffer  status window will  no longer show  the buffer t✓te✓ex✓xt✓t2✓2.
  1943. Note that  although the  prompt refers  to _✓k_✓i_✓l_✓l_✓i_✓n_✓g a  buffer, the
  1944. buffer is in fact _✓d_✓e_✓l_✓e_✓t_✓e_✓d and cannot be yanked back.
  1945.  
  1946.  
  1947.                              S✓Su✓um✓mm✓ma✓ar✓ry✓y
  1948.  
  1949.      These buffer  and file commands allow you  to edit more than
  1950. one text at once, and  move text between buffers and files.  Just
  1951. how useful  these commands  are will be  seen when you  cover the
  1952. next topic, _✓w_✓i_✓n_✓d_✓o_✓w_✓s.
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958. MicroEMACS Screen Editor Tutorial                         Page 38
  1959.  
  1960.  
  1961. 1✓13✓3.  W✓Wi✓in✓nd✓do✓ow✓ws✓s
  1962.  
  1963.      Before  beginning  this section,  it  will  be necessary  to
  1964. create a new text file.   Exit from MicroEMACS by typing the _✓q_✓u_✓i_✓t
  1965. command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>; then  reinvoke MicroEMACS for the text
  1966. file t✓te✓ex✓xt✓t1✓1 with the command:
  1967.  
  1968.         me text1
  1969.  
  1970. Now, copy t✓te✓ex✓xt✓t2✓2 into a  buffer by typing the v✓vi✓is✓si✓it✓t command <c✓ct✓tr✓rl✓l-
  1971. X✓X><c✓ct✓tr✓rl✓l-V✓V>.  When the message
  1972.  
  1973.         Visit file:
  1974.  
  1975. appears  at the  bottom of your  screen, type  t✓te✓ex✓xt✓t2✓2.  MicroEMACS
  1976. will read t✓te✓ex✓xt✓t2✓2 into a buffer, and show the message
  1977.  
  1978.         [Read 11 lines]
  1979.  
  1980. at the bottom of your screen.
  1981.  
  1982.      Finally, copy a new text, called t✓te✓ex✓xt✓t3✓3, into a buffer.  Type
  1983. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>  again.   When  MicroEMACS  asks which  file  to
  1984. visit, type t✓te✓ex✓xt✓t3✓3.  The message
  1985.  
  1986.         [Read 92 lines]
  1987.  
  1988. will appear at the bottom of your screen.
  1989.  
  1990.      The first screenful of text will appear as follows:
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996. MicroEMACS Screen Editor Tutorial                         Page 39
  1997.  
  1998.  
  1999.         From "Gulliver's Travels":
  2000.             I said there was a society of men among us,
  2001.         bred up from their youth in the art of proving
  2002.         by words multiplied for the purpose, that
  2003.         white is black, and black is white, according
  2004.         as they are paid.  To this society all the rest
  2005.         of the people are slaves.
  2006.             "For example.  If my neighbor hath a mind to my
  2007.         cow, he hires a lawyer to prove that he ought to
  2008.         have my cow from me.  I must then hire another to
  2009.         defend my right; it being against all rules of law
  2010.         that any man should be allowed to speak for himself.
  2011.         Now in this case, I who am the true owner lie under
  2012.         two great disadvantages.  First, my lawyer being
  2013.         practiced almost from his cradle in defending
  2014.         falsehood is quite out of his element when he would
  2015.         be an advocate for justice, which as an office
  2016.         unnatural, he always attempts with great awkwardness,
  2017.         if not ill-will.  The second disadvantage is that my
  2018.         lawyer must proceed with great caution, or else he
  2019.         will be reprimanded by the judges, and abhorred by
  2020.         his brethren, as one who would lessen the practice
  2021.         -- MicroEMACS -- text3 -- File: text3 -------------------
  2022.  
  2023.  
  2024.      At this point, t✓te✓ex✓xt✓t3✓3 is  on your screen, and t✓te✓ex✓xt✓t1✓1 and t✓te✓ex✓xt✓t2✓2
  2025. are hidden.
  2026.  
  2027.      You could edit first one text and then another, while remem-
  2028. bering just how things stood with the texts that were hidden; but
  2029. it would be  much easier if you could display  all three texts on
  2030. your  screen simultaneously.   MicroEMACS allows  you to  do just
  2031. that, by using _✓w_✓i_✓n_✓d_✓o_✓w_✓s.
  2032.  
  2033.  
  2034.                          W✓Wi✓in✓nd✓do✓ow✓w c✓co✓om✓mm✓ma✓an✓nd✓ds✓s
  2035.  
  2036.      A _✓w_✓i_✓n_✓d_✓o_✓w is  a portion of your screen that  is set aside and
  2037. can  be manipulated  independently from the  rest of  the screen.
  2038. MicroEMACS's commands for  manipulating windows are summarized in
  2039. the following display.
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045. MicroEMACS Screen Editor Tutorial                         Page 40
  2046.  
  2047.  
  2048.      <c✓ct✓tr✓rl✓l-X✓X>2✓2         Create a window
  2049.      <c✓ct✓tr✓rl✓l-X✓X>1✓1         Delete extra windows
  2050.  
  2051.      <c✓ct✓tr✓rl✓l-X✓X>N✓N         Move to next window
  2052.      <c✓ct✓tr✓rl✓l-X✓X>P✓P         Move to previous window
  2053.  
  2054.      <c✓ct✓tr✓rl✓l-X✓X>Z✓Z         Enlarge window
  2055.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z>  Shrink window
  2056.  
  2057.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>  Scroll down
  2058.      <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>  Scroll up
  2059.  
  2060.      <e✓es✓sc✓c>!            Move within window
  2061.      <c✓ct✓tr✓rl✓l-X✓X>B✓B         Switch buffer
  2062.  
  2063.  
  2064.  
  2065.              C✓Cr✓re✓ea✓at✓ti✓in✓ng✓g w✓wi✓in✓nd✓do✓ow✓ws✓s a✓an✓nd✓d m✓mo✓ov✓vi✓in✓ng✓g b✓be✓et✓tw✓we✓ee✓en✓n t✓th✓he✓em✓m
  2066.  
  2067.      The best  way to grasp how  a window works is  to create one
  2068. and work with it.  Type the _✓c_✓r_✓e_✓a_✓t_✓e _✓a _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>2✓2.
  2069.  
  2070.      Your screen  is now divided  into two parts, an  upper and a
  2071. lower.  The same text is in each part, and the command lines give
  2072. t✓te✓ex✓xt✓t3✓3 for  the buffer and file names.  Also,  note that you still
  2073. have only  one cursor, which is in the  upper left-hand corner of
  2074. the screen.
  2075.  
  2076.      The next step is to move from one window to another.
  2077.  
  2078.      Type the _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>N✓N.  Your cursor has now
  2079. jumped to the upper left-hand corner of the _✓l_✓o_✓w_✓e_✓r window.
  2080.  
  2081.      Type the _✓p_✓r_✓e_✓v_✓i_✓o_✓u_✓s _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>P✓P.  Your cursor has
  2082. returned to the upper left-hand corner of the top window.
  2083.  
  2084.      Now, type  <c✓ct✓tr✓rl✓l-X✓X>2✓2 again.  The  window on the  top of your
  2085. screen is now  divided into two windows, for a  total of three on
  2086. your screen.   Type <c✓ct✓tr✓rl✓l-X✓X>2✓2  again.  The  window at the  top of
  2087. your screen  has again divided  into two windows, for  a total of
  2088. four.
  2089.  
  2090.      It is possible to have as  many as 11 windows on your screen
  2091. at one time, although each window will show only the control line
  2092. and one  or two lines  of text.  Note that  neither <c✓ct✓tr✓rl✓l-X✓X>2✓2 nor
  2093. <c✓ct✓tr✓rl✓l-X✓X>1✓1 can be used with arguments.
  2094.  
  2095.      Now, type  the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command  <c✓ct✓tr✓rl✓l-X✓X>1✓1.  Note that all
  2096. extra windows have been eliminated, or _✓c_✓l_✓o_✓s_✓e_✓d.
  2097.  
  2098.  
  2099.                  E✓En✓nl✓la✓ar✓rg✓gi✓in✓ng✓g a✓an✓nd✓d s✓sh✓hr✓ri✓in✓nk✓ki✓in✓ng✓g w✓wi✓in✓nd✓do✓ow✓ws✓s
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105. MicroEMACS Screen Editor Tutorial                         Page 41
  2106.  
  2107.  
  2108.      When MicroEMACS  creates a window, it  divides the window in
  2109. which the  cursor is  positioned into half.   You do not  have to
  2110. leave the  windows at the size  MicroEMACS creates them, however.
  2111. If you wish,  you may adjust the relative size  of each window on
  2112. your screen, using the _✓e_✓n_✓l_✓a_✓r_✓g_✓e _✓w_✓i_✓n_✓d_✓o_✓w and _✓s_✓h_✓r_✓i_✓n_✓k _✓w_✓i_✓n_✓d_✓o_✓w commands.
  2113.  
  2114.      Type <c✓ct✓tr✓rl✓l-X✓X>2✓2 twice.  Your screen is now divided into three
  2115. windows:  two  in the top half  of your screen, and  the third in
  2116. the bottom half.
  2117.  
  2118.      Now, type the  _✓e_✓n_✓l_✓a_✓r_✓g_✓e _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>Z✓Z.  The window
  2119. at the top of your screen  is now one line bigger, because it has
  2120. borrowed a line from  the window below it.  Type <c✓ct✓tr✓rl✓l-X✓X>Z✓Z again.
  2121. Once again,  the top window  has borrowed a line  from the middle
  2122. window.
  2123.  
  2124.      Now, type  the _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command   <c✓ct✓tr✓rl✓l-X✓X>N✓N, to move your
  2125. cursor into  the middle window.   Again, type the  _✓e_✓n_✓l_✓a_✓r_✓g_✓e _✓w_✓i_✓n_✓d_✓o_✓w
  2126. command <c✓ct✓tr✓rl✓l-X✓X>Z✓Z.   The middle window  has borrowed a  line from
  2127. the bottom window, and is now one line larger.
  2128.  
  2129.      The _✓e_✓n_✓l_✓a_✓r_✓g_✓e  _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>Z✓Z allows  you to enlarge
  2130. the window your cursor is in by borrowing lines from another win-
  2131. dow, provided that you do _✓n_✓o_✓t shrink that other window out of ex-
  2132. istence.  Every  window must have  at least two lines  in it, one
  2133. command line and one line of text.
  2134.  
  2135.      The  _✓s_✓h_✓r_✓i_✓n_✓k _✓w_✓i_✓n_✓d_✓o_✓w command   <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z> allows  you to
  2136. decrease the size of a  window.  Type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z>.  The mid-
  2137. dle window is now one line  smaller, and the bottom window is one
  2138. line  larger,  because   the  line   borrowed  earlier  has  been
  2139. returned.
  2140.  
  2141.      The _✓e_✓n_✓l_✓a_✓r_✓g_✓e  _✓w_✓i_✓n_✓d_✓o_✓w and _✓s_✓h_✓r_✓i_✓n_✓k  _✓w_✓i_✓n_✓d_✓o_✓w commands can  also be
  2142. used with arguments  introduced with <c✓ct✓tr✓rl✓l-U✓U>.  However, remember
  2143. that MicroEMACS  will not accept   an argument that  would shrink
  2144. another window out of existence.
  2145.  
  2146.  
  2147.                  D✓Di✓is✓sp✓pl✓la✓ay✓yi✓in✓ng✓g t✓te✓ex✓xt✓t w✓wi✓it✓th✓hi✓in✓n a✓a w✓wi✓in✓nd✓do✓ow✓w
  2148.  
  2149.      Displaying  text within  the limited  area  of a  window can
  2150. present special problems.   The _✓v_✓i_✓e_✓w commands <c✓ct✓tr✓rl✓l-V✓V> and <e✓es✓sc✓c>V✓V
  2151. will roll  window-sized portions of text up or  down, but you may
  2152. become disoriented when a window shows only four or five lines of
  2153. text at a  time.  Therefore, three special commands are available
  2154. for displaying text within a window.
  2155.  
  2156.      Two commands  allow you to move  your text by one  line at a
  2157. time, or _✓s_✓c_✓r_✓o_✓l_✓l  it:  the _✓s_✓c_✓r_✓o_✓l_✓l _✓u_✓p command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>, and
  2158. the _✓s_✓c_✓r_✓o_✓l_✓l _✓d_✓o_✓w_✓n command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>.
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164. MicroEMACS Screen Editor Tutorial                         Page 42
  2165.  
  2166.  
  2167.      Type  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>.  Note  that the line  at the  top of
  2168. your window  has vanished, a new line has  appeared at the bottom
  2169. of your  window, and the cursor  is now at the  beginning of what
  2170. had been the second line of your window.
  2171.  
  2172.      Now  type <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>.   The line at  the top  that had
  2173. vanished earlier has now returned, the cursor is at the beginning
  2174. of it,  and  the line at  the bottom of the  window has vanished.
  2175. These commands allow you to  move forward in your text slowly, so
  2176. that you do not become disoriented.
  2177.  
  2178.      Both of these commands can be used with arguments introduced
  2179. by <c✓ct✓tr✓rl✓l-U✓U>.
  2180.  
  2181.      The third special movement command is the _✓m_✓o_✓v_✓e _✓w_✓i_✓t_✓h_✓i_✓n _✓w_✓i_✓n_✓d_✓o_✓w
  2182. command <e✓es✓sc✓c>!.  This command moves the line your cursor is on to
  2183. the top of the window.
  2184.  
  2185.      To try this out, move  the cursor down three lines by typing
  2186. <c✓ct✓tr✓rl✓l-U✓U>3✓3<c✓ct✓tr✓rl✓l-N✓N>,  then type  <e✓es✓sc✓c>!.  (Be sure  to type  an ex-
  2187. clamation point '!', not a  numeral one '1', or nothing will hap-
  2188. pen.)   Note that  the line to which you had  moved the cursor is
  2189. now  the first  line  in the  window,  and three  new lines  have
  2190. scrolled up  from the bottom  of the window.  You  will find this
  2191. command to be very useful as you become more experienced at using
  2192. windows.
  2193.  
  2194.      All three  special movement commands  can also be  used when
  2195. your screen has no extra windows, although you will not need them
  2196. as much.
  2197.  
  2198.  
  2199.                             O✓On✓ne✓e b✓bu✓uf✓ff✓fe✓er✓r
  2200.  
  2201.      Now  that  you  have been  introduced  to  the commands  for
  2202. manipulating windows, you can begin  to use windows to speed your
  2203. editing.
  2204.  
  2205.      To begin  with, scroll  up the window  you are in  until you
  2206. reach  the top  line of  your text.   You can  do this  either by
  2207. typing the _✓s_✓c_✓r_✓o_✓l_✓l  _✓u_✓p command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P> several times, or
  2208. by typing <e✓es✓sc✓c><.
  2209.  
  2210.      Kill the first line  of text with the _✓k_✓i_✓l_✓l command <c✓ct✓tr✓rl✓l-K✓K>.
  2211. Note that the first line of text has vanished from all three win-
  2212. dows.  Now, type <c✓ct✓tr✓rl✓l-Y✓Y> to  yank back the text you just killed.
  2213. The line has reappeared in all three windows.
  2214.  
  2215.      The main  advantage to displaying one  buffer with more than
  2216. one window is that each window can display a different portion of
  2217. the text.  This can be quite helpful if you are editing or moving
  2218. a large text.
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224. MicroEMACS Screen Editor Tutorial                         Page 43
  2225.  
  2226.  
  2227.      To demonstrate this, kill the  last four lines at the end of
  2228. the text,  and move  them to the  beginning of the  text.  First,
  2229. move to the end of the  text in your present window by typing the
  2230. _✓e_✓n_✓d _✓o_✓f _✓t_✓e_✓x_✓t command <e✓es✓sc✓c>>.  Kill the last four lines.
  2231.  
  2232.      You could  move the  killed lines  to the beginning  of your
  2233. text by typing the  _✓b_✓e_✓g_✓i_✓n_✓n_✓i_✓n_✓g _✓o_✓f _✓t_✓e_✓x_✓t command <e✓es✓sc✓c><; however, it
  2234. is more convenient simply  to type the _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-
  2235. X✓X>N✓N, which  will move you  to the beginning  of the text  as dis-
  2236. played in the next window.  Note that MicroEMACS remembers a dif-
  2237. fernt cursor position for each window.
  2238.  
  2239.      Now yank back the four killed lines by typing <c✓ct✓tr✓rl✓l-Y✓Y>.  You
  2240. can observe simultaneously  that the lines have been removed from
  2241. the end  of your text  and that they  have been  restored  at the
  2242. beginning.
  2243.  
  2244.  
  2245.                          M✓Mu✓ul✓lt✓ti✓ip✓pl✓le✓e b✓bu✓uf✓ff✓fe✓er✓rs✓s
  2246.  
  2247.      Windows are  especially helpful when they  display more than
  2248. one text.   Remember that at  present you are  working with _✓t_✓h_✓r_✓e_✓e
  2249. texts,  t✓te✓ex✓xt✓t1✓1, t✓te✓ex✓xt✓t2✓2,  and t✓te✓ex✓xt✓t3✓3,  although  your screen  is dis-
  2250. playing only t✓te✓ex✓xt✓t3✓3.  To display a different text in a window, use
  2251. the  _✓s_✓w_✓i_✓t_✓c_✓h _✓b_✓u_✓f_✓f_✓e_✓r command <c✓ct✓tr✓rl✓l-X✓X>B✓B.
  2252.  
  2253.      Type <c✓ct✓tr✓rl✓l-X✓X>B✓B.  When MicroEMACS asks
  2254.  
  2255.      Use buffer:
  2256.  
  2257. at  the bottom  of  the screen,  type  t✓te✓ex✓xt✓t1✓1.  The  text in  your
  2258. present window  will be replaced with t✓te✓ex✓xt✓t1✓1.   Note that the com-
  2259. mand line  in that window  has changed, too, to  reflect the fact
  2260. that the buffer  and the file names are now t✓te✓ex✓xt✓t1✓1.
  2261.  
  2262.  
  2263.               M✓Mo✓ov✓vi✓in✓ng✓g a✓an✓nd✓d c✓co✓op✓py✓yi✓in✓ng✓g t✓te✓ex✓xt✓t a✓am✓mo✓on✓ng✓g b✓bu✓uf✓ff✓fe✓er✓rs✓s
  2264.  
  2265.      Copying text  among buffers is  now quite easy.   To see how
  2266. this is done, kill the first line of t✓te✓ex✓xt✓t1✓1 by typing the <c✓ct✓tr✓rl✓l-K✓K>
  2267. command twice.   Yank back the line  immediately by typing <c✓ct✓tr✓rl✓l-
  2268. Y✓Y>.  Remember,  the line you killed has _✓n_✓o_✓t  been erased from its
  2269. special storage area, and may be yanked back any number of times.
  2270.  
  2271.      Now, move  to the previous window  by typing <c✓ct✓tr✓rl✓l-X✓X>P✓P, then
  2272. yank  back the  killed line by  typing <c✓ct✓tr✓rl✓l-Y✓Y>.   This technique
  2273. allows you to _✓c_✓o_✓p_✓y text from  one window to another as well as to
  2274. _✓m_✓o_✓v_✓e it within a window.
  2275.  
  2276.  
  2277.                       C✓Ch✓he✓ec✓ck✓ki✓in✓ng✓g b✓bu✓uf✓ff✓fe✓er✓r s✓st✓ta✓at✓tu✓us✓s
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283. MicroEMACS Screen Editor Tutorial                         Page 44
  2284.  
  2285.  
  2286.      The _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s  _✓c_✓o_✓m_✓m_✓a_✓n_✓d <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B> can be used when
  2287. you are already displaying more than one window on your screen.
  2288.  
  2289.      When you want to remove the buffer status window, use either
  2290. the _✓o_✓n_✓e  _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>1✓1,  or move your  cursor into the
  2291. buffer status window  using the _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>N✓N and
  2292. replace it  with another buffer by typing  the _✓s_✓w_✓i_✓t_✓c_✓h _✓b_✓u_✓f_✓f_✓e_✓r com-
  2293. mand <c✓ct✓tr✓rl✓l-X✓X>B✓B.
  2294.  
  2295.  
  2296.                      S✓Sa✓av✓vi✓in✓ng✓g t✓te✓ex✓xt✓t f✓fr✓ro✓om✓m w✓wi✓in✓nd✓do✓ow✓ws✓s
  2297.  
  2298.      The final  step is  to save the  text from your  windows and
  2299. buffers.  Close the lower two windows with the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command
  2300. <c✓ct✓tr✓rl✓l-X✓X>1✓1.  Remember,  when you close a window,  the text that it
  2301. displayed  is still  kept in  a buffer that  is _✓h_✓i_✓d_✓d_✓e_✓n  from your
  2302. screen.
  2303.  
  2304.      When you  use the  _✓s_✓a_✓v_✓e command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>,   only the
  2305. text in the window in which  the cursor is position will be writ-
  2306. ten to its file.  If only  one window is displayed on the screen,
  2307. the _✓s_✓a_✓v_✓e command will save only its text.
  2308.  
  2309.  
  2310.                             E✓Ex✓xe✓er✓rc✓ci✓is✓se✓es✓s
  2311.  
  2312.      The following exercises will help you master the use of win-
  2313. dows  and buffers.   Before you  begin,  exit from  MicroEMACS by
  2314. typing the _✓q_✓u_✓i_✓t command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.
  2315.  
  2316.      1✓1.  Invoke  MicroEMACS to  edit t✓te✓ex✓xt✓t1✓1.   Display t✓te✓ex✓xt✓t2✓2  in a
  2317. separate window.   Copy the first  four lines of  t✓te✓ex✓xt✓t1✓1 to t✓te✓ex✓xt✓t2✓2.
  2318. Destroy t✓te✓ex✓xt✓t1✓1's buffer.   Exit from MicroEMACS without saving the
  2319. text.
  2320.  
  2321.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  To invoke MicroEMACS for t✓te✓ex✓xt✓t1✓1 type:
  2322.  
  2323.      me text1
  2324.  
  2325. Before t✓te✓ex✓xt✓t2✓2  can be displayed  on a separate window,  it must be
  2326. copied into  a buffer; type the   _✓v_✓i_✓s_✓i_✓t command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>.
  2327. When MicroEMACS asks
  2328.  
  2329.      Visit file:
  2330.  
  2331. type t✓te✓ex✓xt✓t2✓2.
  2332.  
  2333.      When t✓te✓ex✓xt✓t2✓2 has been copied into its buffer, type  the _✓c_✓r_✓e_✓a_✓t_✓e
  2334. _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>2✓2, and read t✓te✓ex✓xt✓t1✓1 into the window with the
  2335. _✓s_✓w_✓i_✓t_✓c_✓h _✓b_✓u_✓f_✓f_✓e_✓r command <c✓ct✓tr✓rl✓l-X✓X>B✓B.
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342. MicroEMACS Screen Editor Tutorial                         Page 45
  2343.  
  2344.  
  2345.      To copy  the top four lines from t✓te✓ex✓xt✓t1✓1  to t✓te✓ex✓xt✓t2✓2, first kill
  2346. the  first four  lines by typing  <c✓ct✓tr✓rl✓l-U✓U>4✓4 <c✓ct✓tr✓rl✓l-K✓K>.   Then yank
  2347. them back immediately by typing <c✓ct✓tr✓rl✓l-Y✓Y>; jump  to t✓te✓ex✓xt✓t2✓2's window
  2348. by  typing the  _✓n_✓e_✓x_✓t _✓w_✓i_✓n_✓d_✓o_✓w command  <c✓ct✓tr✓rl✓l-X✓X>N✓N, and  finally yank
  2349. back the four killed lines again by typing <c✓ct✓tr✓rl✓l-Y✓Y>.
  2350.  
  2351.      To destroy  the buffer holding  the copy of  t✓te✓ex✓xt✓t1✓1, type the
  2352. _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>1✓1, then type the _✓d_✓e_✓l_✓e_✓t_✓e _✓b_✓u_✓f_✓f_✓e_✓r command
  2353. <c✓ct✓tr✓rl✓l-X✓X>K✓K.  When MicroEMACS asks
  2354.  
  2355.      Kill buffer:
  2356.  
  2357. type t✓te✓ex✓xt✓t1✓1.  When MicroEMACS asks
  2358.  
  2359.      Discard changes [y/n]?
  2360.  
  2361. type y✓y.
  2362.  
  2363.      Finally, to exit  without saving text, type the _✓q_✓u_✓i_✓t command
  2364. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>.
  2365.  
  2366.      2✓2.  Display t✓te✓ex✓xt✓t1✓1,  t✓te✓ex✓xt✓t2✓2, and t✓te✓ex✓xt✓t3✓3 in  three equally sized
  2367. windows.  Scroll through each  text in turn.  Check the status of
  2368. the buffers to see if any were altered, then exit from MicroEMACS
  2369. without saving the texts.
  2370.  
  2371.      S✓So✓ol✓lu✓ut✓ti✓io✓on✓n:  Invoke MicroEMACS to edit t✓te✓ex✓xt✓t1✓1 by typing
  2372.  
  2373.      me text1
  2374.  
  2375. and then  copy t✓te✓ex✓xt✓t2✓2  and t✓te✓ex✓xt✓t3✓3 into  buffers by using  the _✓v_✓i_✓s_✓i_✓t
  2376. command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V> twice.
  2377.  
  2378.      Create three  windows on your screen by  typing the _✓c_✓r_✓e_✓a_✓t_✓e _✓a
  2379. _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>2✓2 twice.
  2380.  
  2381.      Move  among the  windows by  using  the _✓n_✓e_✓x_✓t  _✓w_✓i_✓n_✓d_✓o_✓w command
  2382. <c✓ct✓tr✓rl✓l-X✓X>N✓N and  the _✓p_✓r_✓e_✓v_✓i_✓o_✓u_✓s  _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>P✓P;  then make
  2383. sure the  windows are  of even size  by using the  _✓e_✓n_✓l_✓a_✓r_✓g_✓e _✓w_✓i_✓n_✓d_✓o_✓w
  2384. command <c✓ct✓tr✓rl✓l-X✓X>Z✓Z  and the _✓s_✓h_✓r_✓i_✓n_✓k  _✓w_✓i_✓n_✓d_✓o_✓w command  <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-
  2385. Z✓Z>.
  2386.  
  2387.      Read t✓te✓ex✓xt✓t1✓1  and t✓te✓ex✓xt✓t2✓2 into  your extra windows  by using the
  2388. _✓s_✓w_✓i_✓t_✓c_✓h _✓b_✓u_✓f_✓f_✓e_✓r command <c✓ct✓tr✓rl✓l-X✓X>B✓B.
  2389.  
  2390.      To  scroll through  the texts, use  the _✓s_✓c_✓r_✓o_✓l_✓l  _✓d_✓o_✓w_✓n command
  2391. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N> and the _✓s_✓c_✓r_✓o_✓l_✓l _✓u_✓p command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>.
  2392.  
  2393.      When you are  done scrolling, check the buffers' status with
  2394. the  _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s  command <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>.   Close  the buffer
  2395. status window by typing the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>1✓1.
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401. MicroEMACS Screen Editor Tutorial                         Page 46
  2402.  
  2403.  
  2404.      Exit  from  MicroEMACS by  typing  the  _✓q_✓u_✓i_✓t command  <c✓ct✓tr✓rl✓l-
  2405. X✓X><c✓ct✓tr✓rl✓l-C✓C>.
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411. MicroEMACS Screen Editor Tutorial                         Page 47
  2412.  
  2413.  
  2414. 1✓14✓4.  K✓Ke✓ey✓yb✓bo✓oa✓ar✓rd✓d M✓Ma✓ac✓cr✓ro✓os✓s
  2415.  
  2416.      Another helpful feature  of MicroEMACS is that it allows you
  2417. to create a _✓k_✓e_✓y_✓b_✓o_✓a_✓r_✓d _✓m_✓a_✓c_✓r_✓o.
  2418.  
  2419.      Before beginning  this section, reinvoke  MicroEMACS to edit
  2420. t✓te✓ex✓xt✓t3✓3 by typing the command
  2421.  
  2422.         me text3
  2423.  
  2424.  
  2425.      The term _✓m_✓a_✓c_✓r_✓o means a number of commands or characters that
  2426. are bundled  together.  Although MicroEMACS allows  you to create
  2427. only one macro at a time, this macro can consist of the most com-
  2428. mon _✓p_✓h_✓r_✓a_✓s_✓e or the most common  _✓c_✓o_✓m_✓m_✓a_✓n_✓d or _✓s_✓e_✓r_✓i_✓e_✓s _✓o_✓f _✓c_✓o_✓m_✓m_✓a_✓n_✓d_✓s that
  2429. you use while editing your file.
  2430.  
  2431.  
  2432.                      K✓Ke✓ey✓yb✓bo✓oa✓ar✓rd✓d m✓ma✓ac✓cr✓ro✓o c✓co✓om✓mm✓ma✓an✓nd✓ds✓s
  2433.  
  2434.      The keyboard macro commands are as follows:
  2435.  
  2436.      <c✓ct✓tr✓rl✓l-X✓X>(  Begin macro collection
  2437.      <c✓ct✓tr✓rl✓l-X✓X>)  End macro collection
  2438.      <c✓ct✓tr✓rl✓l-X✓X>E✓E  Execute macro
  2439.  
  2440. To begin  to create a macro, type the  _✓b_✓e_✓g_✓i_✓n _✓m_✓a_✓c_✓r_✓o command <c✓ct✓tr✓rl✓l-
  2441. X✓X>(.  Be sure to type an open parenthesis '(', not a numeral '9'.
  2442. MicroEMACS will reply with the message
  2443.  
  2444.      [Start macro]
  2445.  
  2446. Type the following phrase:
  2447.  
  2448.       interactive screen editor
  2449.  
  2450. Then type  the _✓e_✓n_✓d _✓m_✓a_✓c_✓r_✓o  command <c✓ct✓tr✓rl✓l-X✓X>).  Be sure  you type a
  2451. close parenthesis ')',  not a numeral '0'.  MicroEMACS will reply
  2452. with the message
  2453.  
  2454.      [End macro]
  2455.  
  2456. Move your  cursor down two lines and execute  the macro by typing
  2457. the _✓e_✓x_✓e_✓c_✓u_✓t_✓e  _✓m_✓a_✓c_✓r_✓o command <c✓ct✓tr✓rl✓l-X✓X>E✓E.  The  phrase you typed into
  2458. the macro has been inserted into your text.
  2459.  
  2460.  
  2461.                         R✓Re✓ep✓pl✓la✓ac✓ci✓in✓ng✓g a✓a m✓ma✓ac✓cr✓ro✓o
  2462.  
  2463.      To  replace this  macro with  another,  go through  the same
  2464. process.   Type <c✓ct✓tr✓rl✓l-X✓X>(.  Then type  the _✓b_✓u_✓f_✓f_✓e_✓r  _✓s_✓t_✓a_✓t_✓u_✓s command
  2465. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>, and  type <c✓ct✓tr✓rl✓l-X✓X>).  Remove  the buffer status
  2466. window by typing the _✓o_✓n_✓e _✓w_✓i_✓n_✓d_✓o_✓w command <c✓ct✓tr✓rl✓l-X✓X>1✓1.
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472. MicroEMACS Screen Editor Tutorial                         Page 48
  2473.  
  2474.  
  2475.      Now execute your  keyboard macro by typing the e✓ex✓xe✓ec✓cu✓ut✓te✓e m✓ma✓ac✓cr✓ro✓o
  2476. command <c✓ct✓tr✓rl✓l-X✓X>E✓E.   The _✓b_✓u_✓f_✓f_✓e_✓r _✓s_✓t_✓a_✓t_✓u_✓s command  has executed once
  2477. more.
  2478.  
  2479.      Note that  whenever you exit from  MicroEMACS, your keyboard
  2480. macro is erased, and must be retyped when you return.
  2481.  
  2482.  
  2483.                         S✓Se✓ea✓ar✓rc✓ch✓h a✓an✓nd✓d r✓re✓ep✓pl✓la✓ac✓ce✓e
  2484.  
  2485.      You can  create a _✓s_✓e_✓a_✓r_✓c_✓h  _✓a_✓n_✓d _✓r_✓e_✓p_✓l_✓a_✓c_✓e routine  by bundling a
  2486. number of commands together under a keyboard macro.
  2487.  
  2488.      Suppose, for  example, that you  wished to replace  the word
  2489. l✓la✓aw✓wy✓ye✓er✓r throughout  t✓te✓ex✓xt✓t3✓3 with the  word d✓do✓oc✓ct✓to✓or✓r.  First,  type the
  2490. _✓b_✓e_✓g_✓i_✓n  _✓m_✓a_✓c_✓r_✓o  command   <c✓ct✓tr✓rl✓l-X✓X>(.   Then,  type  <c✓ct✓tr✓rl✓l-S✓S>;  when
  2491. MicroEMACS gives you the prompt
  2492.  
  2493.      Search:
  2494.  
  2495. type l✓la✓aw✓wy✓ye✓er✓r.   This command will execute, and  move the cursor to
  2496. the  space immediately  after the  first  occurrence of  the word
  2497. l✓la✓aw✓wy✓ye✓er✓r.
  2498.  
  2499.      Use the  <d✓de✓el✓l> key to erase the word  l✓la✓aw✓wy✓ye✓er✓r.  Type the word
  2500. d✓do✓oc✓ct✓to✓or✓r in its place.
  2501.  
  2502.      Now that the search and replace routine is set, type the _✓e_✓n_✓d
  2503. _✓m_✓a_✓c_✓r_✓o command <c✓ct✓tr✓rl✓l-X✓X>).   To execute the macro, first install an
  2504. argument by  typing <c✓ct✓tr✓rl✓l-U✓U> three  times; then type  the _✓e_✓x_✓e_✓c_✓u_✓t_✓e
  2505. _✓m_✓a_✓c_✓r_✓o command <c✓ct✓tr✓rl✓l-X✓X>E✓E.  Although the word l✓la✓aw✓wy✓ye✓er✓r does not occur
  2506. 64 times  in this text, you must make  your argument large enough
  2507. so that your search  and replace macro will find every occurrence
  2508. of the word you want to change.
  2509.  
  2510.      MicroEMACS  will  search  through  your  file for  the  word
  2511. l✓la✓aw✓wy✓ye✓er✓r, and  replace it with d✓do✓oc✓ct✓to✓or✓r.  The  cursor will stop after
  2512. the last occurrence of l✓la✓aw✓wy✓ye✓er✓r, and the message
  2513.  
  2514.      Not found
  2515.  
  2516. will appear  at the  bottom of  your screen.  This  message means
  2517. that although  MicroEMACS continued to search  for l✓la✓aw✓wy✓ye✓er✓r through
  2518. the end of your file, it could not find it again.
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524. MicroEMACS Screen Editor Tutorial                         Page 49
  2525.  
  2526.  
  2527. 1✓15✓5.  S✓Se✓en✓nd✓di✓in✓ng✓g C✓Co✓om✓mm✓ma✓an✓nd✓ds✓s t✓to✓o M✓MS✓S-D✓DO✓OS✓S
  2528.  
  2529.  
  2530.      The last   command you need to learn   is the _✓p_✓r_✓o_✓g_✓r_✓a_✓m _✓i_✓n_✓t_✓e_✓r-
  2531. _✓r_✓u_✓p_✓t command <c✓ct✓tr✓rl✓l-X✓X>!.  T✓Th✓hi✓is✓s c✓co✓om✓mm✓ma✓an✓nd✓d
  2532.  
  2533. a✓al✓ll✓lo✓ow✓ws✓s y✓yo✓ou✓u t✓to✓o i✓in✓nt✓te✓er✓rr✓ru✓up✓pt✓t  y✓yo✓ou✓ur✓r e✓ed✓di✓it✓ti✓in✓ng✓g, g✓gi✓iv✓ve✓e a✓a c✓co✓om✓mm✓ma✓an✓nd✓d d✓di✓ir✓re✓ec✓ct✓tl✓ly✓y t✓to✓o
  2534. M✓MS✓S-D✓DO✓OS✓S, a✓an✓nd✓d  t✓th✓he✓en✓n r✓re✓es✓su✓um✓me✓e e✓ed✓di✓it✓ti✓in✓ng✓g  w✓wi✓it✓th✓ho✓ou✓ut✓t a✓af✓ff✓fe✓ec✓ct✓ti✓in✓ng✓g y✓yo✓ou✓ur✓r  t✓te✓ex✓xt✓t i✓in✓n
  2535. a✓an✓ny✓y w✓wa✓ay✓y.
  2536.  
  2537.      The command <c✓ct✓tr✓rl✓l-X✓X>! allows  you to send _✓o_✓n_✓e command to the
  2538. operating system.   To see how this  command works, type <c✓ct✓tr✓rl✓l>!.
  2539. Note that the prompt M✓MS✓S-D✓DO✓OS✓S c✓co✓om✓mm✓ma✓an✓nd✓d:
  2540.  
  2541. has appeared  at the bottom  of your screen.   Type d✓di✓ir✓r.  Observe
  2542. that  the  directory's  table  of  contents scrolls  across  your
  2543. screen.   To  return  to your  editing,  simply  type a  carriage
  2544. return.   The  _✓i_✓n_✓t_✓e_✓r_✓r_✓u_✓p_✓t command  <c✓ct✓tr✓rl✓l-C✓C>  suspends editing  in-
  2545. definitely, and  allows you to  send an unlimited  number of com-
  2546. mands to the operating system.
  2547.  
  2548.      If you were to type <c✓ct✓tr✓rl✓l-C✓C>, MS-DOS would reply by  seeking
  2549. the file c✓co✓om✓mm✓ma✓an✓nd✓d.c✓co✓om✓m in your root directory.
  2550.  
  2551.      Once you  know this information and  wish to experiment with
  2552. the _✓i_✓n_✓t_✓e_✓r_✓r_✓u_✓p_✓t command, type <c✓ct✓tr✓rl✓l-C✓C>.  W✓Wh✓he✓en✓n t✓th✓he✓e M✓MS✓S-D✓DO✓OS✓S p✓pr✓ro✓om✓mp✓pt✓t a✓ap✓p-
  2553. p✓pe✓ea✓ar✓rs✓s, t✓ty✓yp✓pe✓e  t✓ti✓im✓me✓e.  MS-DOS will  print the time and  day, and ask
  2554. you if  you want to change  them.  If you do  not, exit from this
  2555. routine by  simply typing a carriage return,  then return to your
  2556. MicroEMACS program by typing e✓ex✓xi✓it✓t.
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562. MicroEMACS Screen Editor Tutorial                         Page 50
  2563.  
  2564.  
  2565. 16. Advanced Editing--Conclusion and Summary
  2566.  
  2567.         This concludes the tutorial for the MicroEMACS interactive
  2568. screen editor. Congratulations on your diligence in working
  2569. through it! MicroEMACS and its related EMACS -based screen 
  2570. editors are now at your command, and you have acquired a skill
  2571. that will serve you well for the rest of your life.
  2572.  
  2573.         This section introduced the advanced editing techniques
  2574. available with MicroEMACS.
  2575.  
  2576.         Arguments can be used with most cursor movement commands and
  2577. all text deletion commands to set the number of times they ex-
  2578. ecute. The command <ctrl-U> introduces arguments. The default
  2579. for <ctrl-U> is 4, with each subsequent entry of <ctrl-U> mul-
  2580. tiplying the argument by 4. The value of an argument can be
  2581. changed by typing <ctrl-U>, followed by an integer.
  2582.  
  2583.         Text is edited in a buffer, and is copied into a file when
  2584. the user issues the save commands <ctrl-X><ctrl-S> or the write
  2585. command <ctrl-X><ctrl-W>. <ctrl-X> <ctrl-F> will rename the file;
  2586. and <ctrl-X> <ctrl-W> renames the file and automatically copies 
  2587. text to it.
  2588.  
  2589.         MicroEMACS can handle more than one buffer at a time
  2590. <ctrl-X><ctrl-V> moves you from one buffer to another, and allows
  2591. you to create a buffer should the buffer you requested not al-
  2592. ready exist.
  2593.  
  2594.         <ctrl-X><ctrl-R> replaces the text in a buffer with the text
  2595. drawn from a specified file. <ctrl-X>K deletes a buffer.
  2596.  
  2597.         <ctrl-X><ctrl-B> displays information on the status of each
  2598. buffer.
  2599.  
  2600.         The screen can be divided into windows, which can display
  2601. the same buffer or different buffers. <ctrl-X>2 creates a
  2602. window by dividing the present window in half, whereas the com-
  2603. mand <ctrl-X>1 erases all extra windows.
  2604.  
  2605.         <ctrl_X>Z and <ctrl-X><ctrl-Z> enlarge and shrink windows,
  2606. respectively. <ctrl-X>N moves the cursor to the next, or lower,
  2607. window, whereas <ctrl-X>P moves the cursor to the previous win-
  2608. dow.
  2609.  
  2610.         <ctrl-X><ctrl-N>, <ctrl-X><ctrl-P>, and <esc>! respectively
  2611. scroll the window up, scroll it down, and move the line on which
  2612. the cursor rests to the top of the window. <ctrl-X>B displays a
  2613. different buffer within a window.
  2614.  
  2615.         MicroEMACS allows you to create a keyboard macro that ex-
  2616. ecutes a set of commands or inserts text. <ctrl-X>( opens the
  2617. macro, <ctrl-X>) closes it, and <ctrl-X>E executes it.
  2618.  
  2619.  
  2620.  
  2621.  
  2622. MicroEMACS Screen Editor Tutorial                         Page 51
  2623.  
  2624.  
  2625.         <ctrl-C> interrupts the operation of MicroEMACS, so that the
  2626. user can send commands directly to the COHERENT system. You can
  2627. resume working with MicroEMACS by typing <ctrl-D>.
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633. MicroEMACS Screen Editor Tutorial                         Page 52
  2634.  
  2635.  
  2636. 1✓17✓7.  S✓Su✓um✓mm✓ma✓ar✓ry✓y o✓of✓f C✓Co✓om✓mm✓ma✓an✓nd✓ds✓s
  2637.  
  2638. <c✓ct✓tr✓rl✓l-@>    Set mark at current position.
  2639.  
  2640. <c✓ct✓tr✓rl✓l-A✓A>    Move to start of line.
  2641.  
  2642. <c✓ct✓tr✓rl✓l-B✓B>    (B✓Back) Move backward by characters.
  2643.  
  2644. <c✓ct✓tr✓rl✓l-C✓C>    Suspend MicroEMACS and move temporarily to MS-DOS.
  2645.  
  2646. <c✓ct✓tr✓rl✓l-D✓D>    (D✓Delete) Delete next character.
  2647.  
  2648. <c✓ct✓tr✓rl✓l-E✓E>    (E✓End) Move to end of line.
  2649.  
  2650. <c✓ct✓tr✓rl✓l-F✓F>    (F✓Forward) Move forward by characters.
  2651.  
  2652. <c✓ct✓tr✓rl✓l-G✓G>    Abort from a command.
  2653.  
  2654. <c✓ct✓tr✓rl✓l-K✓K>    (K✓Kill) With  no argument, kill  from current position
  2655.             to  end of  line; if  at the  end, kill  the newline.
  2656.             With argument 0,  kill from beginning of line to cur-
  2657.             rent position.   Otherwise, kill _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t  lines for-
  2658.             ward (if positive) or backward (if negative).
  2659.  
  2660. <c✓ct✓tr✓rl✓l-L✓L>    Redraw the screen.
  2661.  
  2662. <c✓ct✓tr✓rl✓l-N✓N>    (N✓Next) Move to next line.
  2663.  
  2664. <c✓ct✓tr✓rl✓l-P✓P>    (P✓Previous) Move to previous line.
  2665.  
  2666. <c✓ct✓tr✓rl✓l-R✓R>    (R✓Reverse) Prompt  for search string  and search back-
  2667.             ward.
  2668.  
  2669. <c✓ct✓tr✓rl✓l-S✓S>    (S✓Search)   Prompt for search  string and  search for-
  2670.             ward.
  2671.  
  2672. <c✓ct✓tr✓rl✓l-T✓T>    (T✓Transpose) Transpose the characters before and after
  2673.             the current position.
  2674.  
  2675. <c✓ct✓tr✓rl✓l-U✓U>    Specify an argument, as described above.
  2676.  
  2677. <c✓ct✓tr✓rl✓l-V✓V>    Move forward by pages.
  2678.  
  2679. <c✓ct✓tr✓rl✓l-W✓W>    Kill text from current position to mark.
  2680.  
  2681. <c✓ct✓tr✓rl✓l-X✓X>(   Begin a macro definition.  MicroEMACS collects every-
  2682.             thing typed until  the end of the definition for sub-
  2683.             sequent repeated execution.
  2684.  
  2685. <c✓ct✓tr✓rl✓l-X✓X>)   End a macro definition.
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691. MicroEMACS Screen Editor Tutorial                         Page 53
  2692.  
  2693.  
  2694.  
  2695. <c✓ct✓tr✓rl✓l-X✓X>1✓1   Display only the current window.
  2696.  
  2697. <c✓ct✓tr✓rl✓l-X✓X>2✓2   Split the current  window; usually followed by <c✓ct✓tr✓rl✓l-
  2698.             X✓X>B✓B or <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>.
  2699.  
  2700. <c✓ct✓tr✓rl✓l-X✓X>B✓B   (B✓Buffer)  Prompt for  a buffer  name and  display the
  2701.             buffer in the current window.
  2702.  
  2703. <c✓ct✓tr✓rl✓l-X✓X>E✓E   (E✓Execute) Execute macro.
  2704.  
  2705. <c✓ct✓tr✓rl✓l-X✓X>K✓K   (K✓Kill) Prompt for a buffer name and delete it.
  2706.  
  2707. <c✓ct✓tr✓rl✓l-X✓X>N✓N   (N✓Next) Move to next window.
  2708.  
  2709. <c✓ct✓tr✓rl✓l-X✓X>P✓P   (P✓Previous) Move to previous window.
  2710.  
  2711. <c✓ct✓tr✓rl✓l-X✓X>Z✓Z   Enlarge the current window by _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t lines.
  2712.  
  2713. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>
  2714.             Create a window that shows the size, buffer name, and
  2715.             file name  for each buffer, and  also shows whether a
  2716.             buffer has been changed.  IP <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>
  2717.             Prompt, and exit unconditionally if 'Y' given.
  2718.  
  2719. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>
  2720.             (F✓File name) Prompt  for a file name for current buff-
  2721.             er.
  2722.  
  2723. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>
  2724.             Move current window down by _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t lines.
  2725.  
  2726. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>
  2727.             Move current window up by _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t lines.
  2728.  
  2729. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>
  2730.             (R✓Read) Prompt for a file name, delete current buffer,
  2731.             and read the file.
  2732.  
  2733. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>
  2734.             (S✓Save) Save current buffer to the associated file.
  2735.  
  2736. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>
  2737.             (V✓Visit) Prompt  for a file name  and display the file
  2738.             in the current window.
  2739.  
  2740. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>
  2741.             (W✓Write) Prompt for  a file name and write the current
  2742.             buffer to it.
  2743.  
  2744. <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z>
  2745.             Shrink current window by _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t lines.
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751. MicroEMACS Screen Editor Tutorial                         Page 54
  2752.  
  2753.  
  2754.  
  2755. <c✓ct✓tr✓rl✓l-Y✓Y>    (Y✓Yank) Copy the  kill buffer into text at the current
  2756.             position; set current  position to the end of the new
  2757.             text.
  2758.  
  2759. <c✓ct✓tr✓rl✓l-Z✓Z>    Save current buffer to associated file and exit.
  2760.  
  2761. <D✓De✓el✓l>       If  no  argument,   delete  the  previous  character.
  2762.             Otherwise, kill _✓a_✓r_✓g_✓u_✓m_✓e_✓n_✓t previous characters.
  2763.  
  2764. <e✓es✓sc✓c>!      Move current  line to a position  in the window given
  2765.             by _✓A_✓r_✓g_✓u_✓m_✓e_✓n_✓t; the position is in lines from the top if
  2766.             positive, in  lines from the bottom  if negative, and
  2767.             the center of the window if 0.
  2768.  
  2769. <e✓es✓sc✓c>>      Move to end of buffer.
  2770.  
  2771. <e✓es✓sc✓c><      Move to beginning of buffer.
  2772.  
  2773. <e✓es✓sc✓c>B✓B      (B✓Back) Move backward by words.
  2774.  
  2775. <e✓es✓sc✓c>C✓C      (C✓Capitalize) Capitalize the next word.
  2776.  
  2777. <e✓es✓sc✓c>D✓D      (D✓Delete) Kill the next word.
  2778.  
  2779. <e✓es✓sc✓c><D✓De✓el✓l>  Kill the previous word.
  2780.  
  2781. <e✓es✓sc✓c>F✓F      (F✓Forward) Move forward by words.
  2782.  
  2783. <e✓es✓sc✓c>L✓L      (L✓Lower) Convert the next word to lower case.
  2784.  
  2785. <e✓es✓sc✓c>U✓U      (U✓Upper) Convert the next word to upper case.
  2786.  
  2787. <e✓es✓sc✓c>V✓V      Move backward by pages.
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793. MicroEMACS Screen Editor Tutorial                         Page 55
  2794.  
  2795.  
  2796.                               I✓In✓nd✓de✓ex✓x
  2797.  
  2798.         <c✓ct✓tr✓rl✓l-@>: 17
  2799.         <c✓ct✓tr✓rl✓l-A✓A>: 7
  2800.         <c✓ct✓tr✓rl✓l-B✓B>: 7
  2801.         <c✓ct✓tr✓rl✓l-C✓C>: 49
  2802.         <c✓ct✓tr✓rl✓l-D✓D>: 12, 49
  2803.         <c✓ct✓tr✓rl✓l-E✓E>: 8
  2804.         <c✓ct✓tr✓rl✓l-F✓F>: 8
  2805.         <c✓ct✓tr✓rl✓l-G✓G>: 22
  2806.         <c✓ct✓tr✓rl✓l-H✓H>: 13
  2807.         <c✓ct✓tr✓rl✓l-L✓L>: 20
  2808.         <c✓ct✓tr✓rl✓l-N✓N>: 8
  2809.         <c✓ct✓tr✓rl✓l-P✓P>: 8
  2810.         <c✓ct✓tr✓rl✓l-R✓R>: 21
  2811.         <c✓ct✓tr✓rl✓l-S✓S>: 21
  2812.         <c✓ct✓tr✓rl✓l-T✓T>: 20
  2813.         <c✓ct✓tr✓rl✓l-U✓U>: 29
  2814.         <c✓ct✓tr✓rl✓l-V✓V>: 9
  2815.         <c✓ct✓tr✓rl✓l-W✓W>: 17
  2816.         <c✓ct✓tr✓rl✓l-X✓X>: 24
  2817.         <c✓ct✓tr✓rl✓l-X✓X>(: 47
  2818.         <c✓ct✓tr✓rl✓l-X✓X>): 47
  2819.         <c✓ct✓tr✓rl✓l-X✓X>1✓1: 36, 40
  2820.         <c✓ct✓tr✓rl✓l-X✓X>2✓2: 40
  2821.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-B✓B>: 35
  2822.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-C✓C>: 11, 15
  2823.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-F✓F>: 33
  2824.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-N✓N>: 41
  2825.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-P✓P>: 41
  2826.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-R✓R>: 34
  2827.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-S✓S>: 11
  2828.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-V✓V>: 34
  2829.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-W✓W>: 24, 33
  2830.         <c✓ct✓tr✓rl✓l-X✓X><c✓ct✓tr✓rl✓l-Z✓Z>: 41
  2831.         <c✓ct✓tr✓rl✓l-X✓X>B✓B: 42
  2832.         <c✓ct✓tr✓rl✓l-X✓X>E✓E: 47
  2833.         <c✓ct✓tr✓rl✓l-X✓X>K✓K: 36
  2834.         <c✓ct✓tr✓rl✓l-X✓X>N✓N: 40
  2835.         <c✓ct✓tr✓rl✓l-X✓X>P✓P: 40
  2836.         <c✓ct✓tr✓rl✓l-X✓X>Z✓Z: 41
  2837.         <c✓ct✓tr✓rl✓l-Y✓Y>: 14
  2838.         <c✓ct✓tr✓rl✓l-Z✓Z>: 25
  2839.         <c✓ct✓tr✓rl✓l>: 2
  2840.         <d✓de✓el✓l>: 13
  2841.         <e✓es✓sc✓c>: 2
  2842.         <e✓es✓sc✓c>!: 42
  2843.         <e✓es✓sc✓c><: 9
  2844.         <e✓es✓sc✓c><d✓de✓el✓l>: 13
  2845.         <e✓es✓sc✓c>>: 9
  2846.         <e✓es✓sc✓c>B✓B: 7
  2847.         <e✓es✓sc✓c>C✓C: 19
  2848.         <e✓es✓sc✓c>D✓D: 13
  2849.         <e✓es✓sc✓c>F✓F: 8
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855. MicroEMACS Screen Editor Tutorial                         Page 56
  2856.  
  2857.  
  2858.         <e✓es✓sc✓c>L✓L: 19
  2859.         <e✓es✓sc✓c>U✓U: 19
  2860.         <e✓es✓sc✓c>V✓V: 9
  2861.         <N✓Nu✓um✓m L✓Lo✓oc✓ck✓k>: 7
  2862.         <return>: 7, 21
  2863.         me command: 5
  2864.         MicroEMACS:
  2865.             advanced editing with: 28
  2866.             basic editing with: 2
  2867.             beginning to use: 3
  2868.             exiting from: 24
  2869.             file size: 4
  2870.             invoking: 5
  2871.             quit without saving text: 15
  2872.             saving text: 11
  2873.         advanced editing--summary: 50
  2874.         arguments: 29
  2875.             cannot be used with create window commands: 40
  2876.             default value: 29
  2877.             deleting: 30
  2878.             exercises: 30
  2879.             increasing or decreasing: 29
  2880.             selecting values: 29
  2881.             with enlarge window command: 41
  2882.             with scrolling commands: 42
  2883.             with shrink window command: 41
  2884.         arrow keys: 7
  2885.         ascii table: 2
  2886.         backspace key: 7
  2887.         backwards:
  2888.             end of line: 7
  2889.             one space: 7
  2890.             one word: 7
  2891.         basic editing--summary: 26
  2892.         begin macro command: 47
  2893.         beginning of text command: 9
  2894.         block kill command: 17
  2895.         buffer:
  2896.             definition: 32
  2897.             delete: 36
  2898.             exercises: 44
  2899.             for killed text: 16
  2900.             how differs from file: 32
  2901.             move text from one b. to another: 35
  2902.             name on command line: 6
  2903.             naming: 32
  2904.             need unique names: 36
  2905.             number allowed at one time: 35
  2906.             prompting for new name: 36
  2907.             replace with named file: 34
  2908.             status command: 35
  2909.             status window: 35
  2910.             switch b.: 34
  2911.             with windows: 42
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917. MicroEMACS Screen Editor Tutorial                         Page 57
  2918.  
  2919.  
  2920.         buffer status command: 35
  2921.             use with windows: 44
  2922.         buffer status window: 35
  2923.         cancel a command: 22
  2924.         capitalization: 19
  2925.         command line:
  2926.             buffer name: 6
  2927.             changed file name: 24
  2928.             file name: 6
  2929.             file name changed: 33
  2930.             interpretation: 5
  2931.         commands:
  2932.             arguments: 29
  2933.             block kill text: 16
  2934.             buffer status: 35
  2935.             cancel: 22
  2936.             capitalization: 19
  2937.             cursor movement display: 7
  2938.             exiting from MicroEMACS: 24
  2939.             file and buffer: 32
  2940.             giving c. to MS-DOS: 49
  2941.             increase power: 29
  2942.             keyboard macros: 47
  2943.             lowercase: 19
  2944.             me: 5
  2945.             move text: 16
  2946.             program interrupt: 49
  2947.             redraw screen: 20
  2948.             saving text: 24
  2949.             searching: 21
  2950.             switch buffers: 34
  2951.             uppercase: 19
  2952.             window manipulation: 39
  2953.         control characters: 2
  2954.         control key: 2
  2955.             location: 2
  2956.         copying sample texts: 4
  2957.         copying text: 43
  2958.         cursor movement:
  2959.             arrow keys: 7
  2960.             back: 7
  2961.             beginning of text: 9
  2962.             end of text: 9
  2963.             exercises: 10
  2964.             forwards: 8
  2965.             left: 7
  2966.             line position: 8
  2967.             move within window: 42
  2968.             next line: 8
  2969.             previous line: 8
  2970.             right: 8
  2971.             screen down: 9
  2972.             screen up: 9
  2973.             scroll down: 41
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979. MicroEMACS Screen Editor Tutorial                         Page 58
  2980.  
  2981.  
  2982.             scroll up: 41
  2983.             strategy: 9
  2984.         delete buffer command: 36
  2985.         delete key: 13
  2986.         delete text:
  2987.             exercises: 14
  2988.             versus killing: 12
  2989.         deleting with arguments: 30
  2990.         display:
  2991.             capitalization, transpose, and redraw: 19
  2992.             commands: 21
  2993.             file and buffer commands: 32
  2994.             keyboard macro commands: 47
  2995.             kill and move commands: 16
  2996.             killing and deleting: 12
  2997.             movement commands: 7
  2998.             text and exiting: 24
  2999.             window commands: 39
  3000.         document:
  3001.             beginning a new d.: 5
  3002.         e✓ed✓d:
  3003.             to break down files: 4
  3004.             to cement files together: 4
  3005.         end macro command: 47
  3006.         end of text command: 9
  3007.         enlarge window command: 41
  3008.             with arguments: 41
  3009.         erase text: 12
  3010.             by line: 14
  3011.             deletion of spaces: 13
  3012.             erasing spaces: 13
  3013.             to the left: 13
  3014.             to the right: 12
  3015.         escape key: 2
  3016.             location: 2
  3017.         execute macro command: 47
  3018.         exercises:
  3019.             arguments: 30
  3020.             buffers: 44
  3021.             cursor movement: 10
  3022.             delete text: 14
  3023.             kill text: 14
  3024.             windows: 44
  3025.             yank back text: 14
  3026.         exiting from MicroEMACS: 24
  3027.         extended commands: 24
  3028.         file:
  3029.             definition: 32
  3030.             how differs from buffer: 32
  3031.             name on command line: 6
  3032.             naming: 32
  3033.             rename: 33
  3034.             replace buffer with named f.: 34
  3035.             size: 4
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041. MicroEMACS Screen Editor Tutorial                         Page 59
  3042.  
  3043.  
  3044.             with windows: 42
  3045.             write to new f.: 33
  3046.         forwards:
  3047.             end of line: 8
  3048.             one space: 8
  3049.             one word: 8
  3050.         interactive editor:
  3051.             definition: 2
  3052.         keyboard macros: 47
  3053.         kill text:
  3054.             block: 17
  3055.             exercises: 14
  3056.             versus deleting: 12
  3057.         lowercase text: 19
  3058.         macros: 47
  3059.         message:
  3060.             [End macro]: 47
  3061.             [Mark set]: 17
  3062.             [New file]: 5
  3063.             [Old buffer]: 35
  3064.             [Read XX lines]: 5, 34, 38
  3065.             [Start macro]: 47
  3066.             [Wrote XX lines]: 11, 24-25, 33
  3067.             Arg: X: 29
  3068.             Buffer name:: 36
  3069.             Cannot allocate XX bytes: 4
  3070.             Discard changes [y/n]?: 37, 45
  3071.             Kill buffer:: 37
  3072.             MS-DOS command: 49
  3073.             Name:: 33
  3074.             Not found: 21, 48
  3075.             Quit [y/n]?: 15
  3076.             Read file:: 34
  3077.             Reverse search [xxxxx]:: 21-22
  3078.             Search:: 21
  3079.             Use buffer:: 43
  3080.             Visit file:: 34-35, 38
  3081.             Write file:: 24, 33
  3082.         meta characters: 2
  3083.         MicroEMACS:
  3084.             does support arrow keys: 7
  3085.         move:
  3086.             cursor: 7
  3087.             text: 16
  3088.             text from one buffer to another: 35
  3089.             within window command: 42
  3090.         multiple copying of killed text: 16
  3091.         next line command: 8
  3092.         number lock key: 7
  3093.         number of buffers allowed: 35
  3094.         previous line command: 8
  3095.         program interrupt command: 49
  3096.         quit without saving text: 11
  3097.         quitting MicroEMACS: 11
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104. MicroEMACS Screen Editor Tutorial                         Page 60
  3105.  
  3106.  
  3107.         redraw screen: 20
  3108.         rename file: 33
  3109.         replace buffer with named file: 34
  3110.         restore (yank back) killed text: 14
  3111.         reverse search: 21
  3112.         sample texts:
  3113.             copying: 4
  3114.         saving text: 11, 24
  3115.         screen backwards movement: 9
  3116.         screen down command: 9
  3117.         screen editor:
  3118.             definition: 2
  3119.         screen forward movement: 9
  3120.         screen redraw: 20
  3121.         screen up command: 9
  3122.         scroll down command: 41
  3123.             with arguments: 42
  3124.         scroll up command: 41
  3125.             with arguments: 42
  3126.         search:
  3127.             forward: 21
  3128.             reverse: 21
  3129.         shrink window command: 41
  3130.             with arguments: 41
  3131.         store command: 25
  3132.         summary:
  3133.             advanced editing: 50
  3134.             basic editing: 26
  3135.         switch buffer command: 42
  3136.         tab key: 2
  3137.         text:
  3138.             block kill: 17
  3139.             capitalize: 19
  3140.             erase: 12
  3141.             erase to left: 13
  3142.             erase to right: 12
  3143.             kill by lines: 14
  3144.             lowercase: 19
  3145.             move: 16
  3146.             move from one buffer to another: 35
  3147.             multiple copying of killed t.: 16
  3148.             restore (yank back): 14
  3149.             saving: 24
  3150.             saving t.: 11
  3151.             uppercase: 19
  3152.             write to new file: 24
  3153.             yank back (restore): 14
  3154.         transpose characters: 20
  3155.         uppercase text: 19
  3156.         visit command: 34
  3157.             creating new file: 38
  3158.             moving text from one buffer to another: 35
  3159.             prompting for buffer name: 36
  3160.         window:
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166. MicroEMACS Screen Editor Tutorial                         Page 61
  3167.  
  3168.  
  3169.             buffer status: 35
  3170.             buffer status command use: 44
  3171.             commands, table 7: 39
  3172.             copying text among: 43
  3173.             definition: 39
  3174.             enlarge: 41
  3175.             exercises: 44
  3176.             move within: 42
  3177.             moving text among: 43
  3178.             multiple w.: 40
  3179.             number possible: 40
  3180.             one w.: 40
  3181.             saving text: 44
  3182.             scroll down: 41
  3183.             scroll up: 41
  3184.             shifting between: 40
  3185.             shrink: 41
  3186.             use with editing: 42
  3187.             using multiple buffers: 42
  3188.         write text to new file: 24, 33
  3189.         yank back text: 14, 30
  3190.             exercises: 14
  3191.         |<c✓ct✓tr✓rl✓l-X✓X>!: 49
  3192.  
  3193.  
  3194.